http webrequest тип контента ноль - PullRequest
1 голос
/ 08 ноября 2010

необходимо ли указывать тип содержимого в заголовке http при загрузке файла. Я пытался с помощью C #. я установил его "image / png" при загрузке файла PDF, и когда я загружал загруженный файл, файл PDF был идеальным. оно не испортилось.

Так какова роль указания типа контента в заголовке http. это может быть ноль или любое другое неправильное значение.

потому что приложение, которое я создаю, пользователь просто даст файл, и мне просто нужно загрузить его.

любая помощь высоко ценится. заранее спасибо.

1 Ответ

3 голосов
/ 31 марта 2011

Странно, что никто не ответил на этот вопрос.

Вы должны всегда устанавливать тип содержимого, некоторые программы (серверы) могут сломаться, если он пропущен.

Вы могли бы дать ему любое значение, котороеЦелевая система может обработать.

Поскольку вы можете легко подделать HTTP-запрос, вы также можете подделать заголовки.Таким образом, ваша целевая система (в данном случае процессор загрузки) должна принимать только значения типа контента, которые она может обработать, и вы ДОЛЖНЫ проверить, действительно ли данный тип контента соответствует данным, отправляемым в теле (сам загруженный файл).Вы никогда не можете доверять значению типа контента, пока не подтвердите его каким-либо образом.Как разработчик PHP, я всегда проверяю загрузку любого файла с помощью валидатора MIME-типа, чтобы убедиться, что я получил то, что ожидал.Например, я использую getimagesize (), чтобы определить, является ли это изображение или нет, и если оно должно получить его тип формата файла (PNG).

Так как файлы PNG и PDF являются двоичными форматами, ваша загрузка прошла успешно.Это потому, что вы закодировали его таким образом, или целевая система вернулась к настройкам по умолчанию или проверила себя.

...