[英]How to get the content-type of a file
我正在實現一個處理GET
或HEAD
請求的HTTP / 1.0服務器。
我已經完成了Date
, Last-Modified
和Content-Length
,但是我不知道如何獲取文件的Content-Type
。
它必須返回目錄的目錄(我可以使用stat()
函數執行此操作),並返回常規文件的目錄,對於text
或html
文件,返回text/html
,對於圖像或gif
文件,返回image/gif
。
是否應該使用文件名對其進行硬編碼?
我想知道是否有任何函數來獲取此Content-Type
。
您可以查看文件擴展名(大多數Web服務器都執行此操作-參見例如/etc/mime.types
文件;也可以使用libmagic
通過查看文件的前幾個字節來自動確定內容類型。 。
這取決於您想要變得多么復雜。
如果有問題的文件都被正確命名,並且只有幾種類型可以處理,那么具有基於開關的文件后綴就足夠了。 在極端情況下,無論文件是什么,做出正確的決定都可能需要復制Unix file
命令的功能或在有問題的文件上運行它(然后將輸出轉換為適當的Content-Type
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.