[英]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.