1
我有一個運行我的CGI腳本的HTTP服務器(運行在Linux機器上的newLISP)。它運行在我的Linux機器上。上傳二進制文件問題
我有一個使用POST方法上傳文件的奇怪問題。我的CGI腳本很簡單:它從標準輸入讀取所有內容,並將其保存在文件中。我爲了調試目的而編寫腳本:我想知道,究竟是讀什麼。
當我上傳一個文本文件時,一切都很好。我的意思是,我得到類似的東西:
-----------------------------18218802734725416881815749595 Content-Disposition: form-data; name="uploaded_data"; filename="post.gif" Content-Type: image/gif (and here's the content of the text file) -----------------------------18218802734725416881815749595 Content-Disposition: form-data; name="text_field_name" text field value -----------------------------18218802734725416881815749595 Content-Disposition: form-data; name="submit" Upload -----------------------------18218802734725416881815749595--
而這正是我應該得到的,根據RFC 1867年(在HTML中基於表單的文件上傳)。 (是的,我把這個文本文件改名爲「post.gif」。)
問題是,當我嘗試上傳任何二進制文件時,我遇到了一些非常奇怪的事情。例如,當我上傳gif圖片,我得到這個:
-----------------------------208529943213031756281593958364 Content-Disposition: form-data; name="uploaded_data"; filename="polsl.gif" Content-Type: image/gif GIF89a_
什麼可以爲這種奇怪的行爲的原因?