http webrequest内容类型null

问题描述:

是否需要在上传文件时在http标头中提及内容类型。我尝试使用C#。我在上传PDF文件的同时将它设置为“image/png”,当我下载上传的文件时,PDF文件非常完美。它没有被损坏。http webrequest内容类型null

那么在http头中指定content-type有什么作用。 它可以为空或任何其他错误的值。

因为我正在制作的应用程序,用户只会给文件,而我只需要上传它。

任何帮助高度赞赏。提前致谢。

奇怪的是没有人回答这个问题。

您应该始终设置内容类型,但某些软件(服务器)在省略时可能会中断。

您可以给它目标系统可以处理的任何值。

既然你可以很容易伪造HTTP请求,你也可以伪造头。 因此,您的目标系统(在这种情况下为上传处理器)应该只接受其能够处理的内容类型 值,并且您必须验证给定的内容类型是否实际上与正文中发送的数据相匹配(上传的文件本身)。 您永远不能信任内容类型值,直到您以某种方式验证它。 作为一名PHP开发人员,我总是检查任何文件上传与MIME类型的验证程序,以确保达到我的预期。例如,我使用getimagesize()来检测它是否是一个图像,如果它是它的文件格式类型(PNG)。

由于PNG和PDF文件都是二进制文件格式,因此上传成功。 这是因为你用这种方式对它进行了编码,或者目标系统回退到默认设置或者自行检查。