Content-Disposition - в заголовке письма обнаружен недопустимый символ: '[' - PullRequest
0 голосов
/ 05 августа 2020

Я хочу получить имя файла по указанному ниже URL. При разборе заголовка Content-Disposition для извлечения имени файла выдается ошибка System.FormatException: An invalid character was found in the mail 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();
}

1 Ответ

0 голосов
/ 05 августа 2020

Вы не можете использовать здесь неэкранированные символы «[» или «]» (они требуют процентного кодирования). Соответствующие спецификации: RF C 6266 (Content-Disposition) и RF C 8187.

...