繁体   English   中英

如何获取文件的内容类型

[英]How to get the content-type of a file

我正在实现一个处理GETHEAD请求的HTTP / 1.0服务器。

我已经完成了DateLast-ModifiedContent-Length ,但是我不知道如何获取文件的Content-Type

它必须返回目录的目录(我可以使用stat()函数执行此操作),并返回常规文件的目录,对于texthtml文件,返回text/html ,对于图像或gif文件,返回image/gif

是否应该使用文件名对其进行硬编码?

我想知道是否有任何函数来获取此Content-Type

您可以查看文件扩展名(大多数Web服务器都执行此操作-参见例如/etc/mime.types文件;也可以使用libmagic通过查看文件的前几个字节来自动确定内容类型。 。

这取决于您想要变得多么复杂。

如果有问题的文件都被正确命名,并且只有几种类型可以处理,那么具有基于开关的文件后缀就足够了。 在极端情况下,无论文件是什么,做出正确的决定都可能需要复制Unix file命令的功能或在有问题的文件上运行它(然后将输出转换为适当的Content-Type )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM