2011-08-01 31 views
-1

我現在沒有可用的代碼,但我將在稍後描述我的情況併發布代碼:)。基本上,我的問題是通過POST(從Java桌面應用程序/客戶端)上傳映像到服務器。我在這裏發現了一些討論,但它包括使用org.apache.commons.httpclient類,並且我使用URLConnection類實現了大多數代碼,或者其中包含錯誤。檢查這個選擇的答案,看看我儘可能詳細的內容:Using java.net.URLConnection to fire and handle HTTP requestsJava應用程序通過POST發送(無代碼)

無論如何,我創建了PHP腳本在我的本地服務器上處理窗體與文件上傳。我從一個與.php一起創建的靜態html中檢查了它。然後我檢查它沒有文件上傳,並且它工作正常。 當我發送純文本文件時,它也可以正常工作。這看起來像一個與編碼有關的問題。也許一些奇怪的角色打破了我的轉移?

正如我所說的,如果今天晚些時候需要,我會包含代碼,但是我對通過POST發送時編碼圖像相關的意見/體驗感興趣。我應該做些別的事情,這在上面的鏈接中沒有提到。

問題:在通過http post發送多部分消息中的二進制文件時,是否需要對實際數據使用某種編碼?

對不起,現在沒有代碼。

乾杯

+3

你的問題是什麼?你怎麼了?你的代碼在哪裏? – Joel

+0

沒有代碼。添加了問題。我想聽聽意見。用文字說。沒有代碼,但與代碼有關。 – hummingBird

回答

1

至於你的問題:是的,你需要編碼的文件。

我會使用HttpClient,因爲它爲您處理所有這些事情。沒有必要重新發明輪子。代碼見How to upload a file using Java HttpClient library working with PHP

+0

謝謝......我最終可能會使用HttpClient。不過,我花了相當長的時間來嘗試調試這個,並且真的很想將其解決。純文本文件正在傳輸的事實表明這是一個編碼問題。 – hummingBird

1

如果您正在使用URLConnection手動處理多部分/表單數據,我想您需要將「Content-Transfer-Encoding:binary」添加到圖像部分。見W3C's docs

+0

不幸的是,這不是我正在尋找的修復程序,因爲它在我發佈的鏈接中列出:(無論如何,謝謝, – hummingBird

+1

呃,對不起,它被一個滾動條隱藏...... :)順便說一句,你測試過了嗎?與IE,Firefox,Chrome,Safari? –

+0

有趣的是,沒有:)。實際上,我主要關注的是這件事情與純文本一起工作,所以我認爲它與二進制內容有關。 – hummingBird