5
這是我第一次發送多部分請求,在挖掘完成後,我變得更加困惑,所以任何關於「正確」方式的幫助都會非常有用。如何在java中使用HttpURLConnection發送多部分POST請求?
我有一個函數,應該得到:文件路徑和JSON的字符串表示,並使用multipart向服務器發送POST請求。
我不知道何時使用boundary
和"multipart/form-data"
內容類型和addPart
和addTextBody
,當(或原因)之間的差異也總是被寫入Content-Disposition: form-data; name=\
public String foo(String filePath, String jsonRep, Proxy proxy)
{
File f = new File(filePath);
HttpURLConnection connection;
connection = (HttpURLConnection) url.openConnection(proxy);
connection.setRequestProperty("Content-Type", "multipart/form-data"); // How should I generate boundary? Should it be added here?
if (myMethod == "POST")
{
connection.getOutputStream().write(? Both the json string and the file bytes??);
}
.... checking there is no error code etc..
return ReadResponse(connection) // read input stream..
現在我不知道如何繼續下去,以及如何編寫的文件和JSON字符串 我看到這個代碼:
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
builder.addPart("upfile", fileBody);
builder.addPart("text1", stringBody1);
builder.addPart("text2", stringBody2);
但我似乎無法理解如何將它連接到我的connection
。
你能幫忙嗎?
也就是說exacly我的問題。我找不到有關使用MultipartEntityBuilder和HttpURLConnection的更多信息。 – 2015-07-28 01:16:41