簡體   English   中英

內容處置 - 在郵件 header 中發現無效字符:'['

[英]Content-Disposition - an invalid character was found in the mail header: '['

我想從下面的 url 獲取文件名。 在解析 Content-Disposition header 以提取文件名時,它會引發錯誤System.FormatException: An invalid character was found in the mail header: '['. .header的值如下。 我不想替換這些字符,因為如果我這樣做,文件名將被更改。 我該如何解決?

Content-Disposition: attachment; filename*=UTF-8''[Saglamindir.net] Internet Download Manager.rar
Url: https://www17.zippyshare.com/d/qS76ZdES/29289/%5bSaglamindir.net%5d%20Internet%20Download%20Manager.rar

我的代碼:

var cdHeader = response.Headers["Content-Disposition"];
if (!string.IsNullOrEmpty(cdHeader))
{
    var properFormat = Encoding.UTF8.GetString(Encoding.GetEncoding(1252).GetBytes(cdHeader));
    properFormat = HttpUtility.UrlDecode(properFormat);
    var disp = new ContentDisposition(properFormat);
    var temp = disp.FileName;
    return temp.ReplaceInvalidChars();
}

您不能在此處使用未轉義的“[”或“]”(它們需要百分比編碼)。 相關規范是 RFC 6266 (Content-Disposition) 和 RFC 8187。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM