Đây là lần đầu tiên tôi gửi yêu cầu nhiều phần và sau khi đào ở đây, tôi thậm chí còn bối rối hơn nên bất kỳ trợ giúp nào về cách "chính xác" sẽ rất được đánh giá cao.Làm thế nào để gửi yêu cầu POST nhiều phần bằng cách sử dụng HttpURLConnection trong java?
Tôi có một hàm, sẽ nhận được: đường dẫn tệp và biểu diễn chuỗi của JSON và gửi yêu cầu POST tới máy chủ bằng cách sử dụng nhiều phần.
Tôi không chắc chắn khi nào nên sử dụng các loại boundary
và "multipart/form-data"
nội dung, và sự khác biệt giữa addPart
và addTextBody
, và khi (hoặc tại sao) nó luôn luôn được viết 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..
Bây giờ tôi không chắc chắn làm thế nào để tiếp tục, và làm thế nào để ghi các file và chuỗi json tôi thấy mã này:
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
builder.addPart("upfile", fileBody);
builder.addPart("text1", stringBody1);
builder.addPart("text2", stringBody2);
Nhưng tôi dường như không thể hiểu làm thế nào nó được kết nối với 0 của tôi.
Bạn có thể trợ giúp không?
Đó là exacly vấn đề của tôi. Tôi không thể tìm thấy nhiều thông tin về việc sử dụng MultipartEntityBuilder và HttpURLConnection. –