我送從我的客戶端上傳請求到我的服務器這樣的部分真正的內容類型:如何知道什麼是多要求
FileBody file2 = new FileBody(new File("./test2.txt"));
FileBody image1 = new FileBody(new File("./DSC_0064.JPG"));
,正如你看到的,其中一個文件是TXT和一個JPG圖片。
在服務器上,我收到請求和我走的標題爲每個部分,我得到這個:
------------Part 1------------
content-disposition=form-data; name="test2"; filename="test2.txt"
content-type=application/octet-stream
content-transfer-encoding=binary
------------Part 2------------
content-disposition=form-data; name="image1"; filename="DSC_0064.JPG"
content-type=application/octet-stream
content-transfer-encoding=binary
正如你看到的,對他們倆的內容類型是application/octet-stream
。如何在動態環境中確定實際類型?這是一個圖像嗎?一個文本?一段錄像?
我不能依賴文件名,因爲用戶可以將其從例如txt更改爲PNG,然後我的服務器會認爲它是一個圖像,但他會因此而例外。
有沒有真正的方法來找出答案。文件擴展名正是爲了這個目的。文件以字節爲單位後,可以是文本,壓縮數據,圖像,歌曲等。您可以執行的操作是捕獲錯誤並忽略該文件。你甚至可以在客戶端做到這一點,所以服務器沒有得到很多垃圾 – BlueMoon93