有沒有辦法在Windows上使用某些系統調用來獲取文件的MIME類型?我正在用C++編寫IIS擴展,所以它必須可以從C++調用,並且如果有某些功能暴露,我可以訪問IIS。顯然,IIS本身必須能夠做到這一點,但我的谷歌搜索一直無法找到如何。我在這裏找到了this.net相關的問題,但這並沒有給我太多希望(因爲在那裏沒有提到一個好的解決方案和C++解決方案)。在Windows上查找文件的MIME類型
我需要它,所以我可以使用適當的內容類型從我的應用程序提供動態文件。我的計劃是首先查閱我的應用程序中的MIME類型列表,然後回到系統的MIME類型列表(不過這很有效;顯然它存在,因爲它是將文件與程序關聯的方式)。在某些情況下,我只有一個文件擴展名,但在其他情況下,我可能有一個實際的磁盤文件需要檢查。由於這些不會是用戶上傳的文件,我相信我可以信任該擴展,並且我更願意使用僅擴展查找解決方案,因爲它看起來更簡單,速度更快。謝謝!
你的假設是不正確的:在Windows上,擴展和項目之間的關聯不使用MIME類型。在註冊表中,每個擴展都與一個描述性條目相關聯,並且具有'\ Shell \ Open \ Command \'值。這種間接方式允許兩個擴展共享一個描述性條目,例如, '.jpeg'和'.jpg'共享描述性條目'jpegfile' – MSalters 2010-03-31 13:07:21
MSalters,我可以發誓,在XP中,文件關聯對話框中有一個MIME類型的位置......但是在Win Server 2k8中,在「默認程序」對話框,它似乎就像你說...這對我沒有用:( – rmeador 2010-03-31 15:27:48