gpt4 book ai didi

android - 在 Android 中使用 HTTP POST 发送大数据

转载 作者:搜寻专家 更新时间:2023-11-01 08:54:57 26 4
gpt4 key购买 nike

所以我有一个代码,我可以使用下面的代码使用 HTTP POST 将数据发送到服务器:

import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.Path;

import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;

public void sendData() {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(SERVER_URL);

Path path = Paths.get("path/to/file");
byte[] data = Files.readAllBytes(path);

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("data",Base64.encodeBytes(data)));
nameValuePairs.add(new BasicNameValuePair("id", "123"));

try {

httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
} catch (Exception e) {
}
}

问题是,对于这个实现,我无法发送大数据,因为字节数组必须全部放入内存。在 Android 中通过 HTTP POST 发送大数据的最佳方式是什么,最好不要使用第三方库?

最佳答案

与其发布整个内容,不如使用 HttpURLConnection流式传输文件。您可能还想在 AsyncTask 中执行此操作.

本来想写点什么,结果有人已经有了here ...

关于android - 在 Android 中使用 HTTP POST 发送大数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19825056/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com