http webrequest内容类型为null

时间:2010-11-08 08:07:25

标签: http-headers content-type

在上传文件时,有必要在http标头中提及内容类型。我尝试使用c#。我在上传pdf文件时设置了“image / png”,当我下载上传的文件时,pdf文件非常完美。它没有被破坏。

那么在http标头中指定content-type的作用是什么。 可以是null或任何其他错误的值。

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

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

1 个答案:

答案 0 :(得分:3)

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

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

您可以为其提供目标系统可以处理的任何值。

由于您可以轻松伪造http请求,您还可以伪造标头。 因此,您的目标系统(在这种情况下是上传处理器)应该只接受内容类型 它能够处理的值,你必须验证给定的内容类型是否实际匹配正文中发送的数据(上传的文件本身)。 在以某种方式验证它之前,您永远不能信任内容类型值。 作为PHP开发人员,我总是检查任何文件上传对mime类型的验证器,以确保我得到了我的预期。例如,我使用getimagesize()来检测它是否是图像,以及是否要获取它的文件格式类型(PNG)。

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