java - MultipartEntity 文件未通过设备上传

标签 java android httpclient

可能这是一个重复的问题,但我已经尝试过该网站的所有答案,但都不起作用!

我正在使用 MultipartEntity 进行图像上传。它在模拟器中工作得很好,但是当我 checkin 设备时它不工作。

在我的代码下面

 HttpParams params = new BasicHttpParams();
 params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP);    

 HttpClient httpClient = new DefaultHttpClient(params);
 HttpContext localContext = new BasicHttpContext();
 HttpPost httpPost = new HttpPost("http://url.com/webservice_uploadvideo.php");

 MultipartEntity entity = new MultipartEntity(HttpMultipartMode.STRICT);

 FileBody filebodyVideopre = new FileBody(new File(videoUploadpathPre)); //pre

 entity.addPart("fin_detail", filebodyVideopre);

 httpPost.setEntity(entity);

 HttpResponse response = httpClient.execute(httpPost, localContext);

最佳答案

这是我的多部分图像上传的工作代码。是的,它可以在真实设备中使用。

private int uploadImage(String selectedImagePath) {

  try {
    HttpClient client = new DefaultHttpClient();
    File file = new File(selectedImagePath);
    HttpPost post = new HttpPost(Constants.URL);

    MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE,
                    Constants.BOUNDARY, Charset.defaultCharset());

    entity.addPart(Constants.MULTIPART_FORM_DATA_NAME, new FileBody(file));
    post.setHeader("Accept", "application/json");
    post.setHeader("Content-Type", "multipart/form-data; boundary=" + Constants.BOUNDARY);

    post.setEntity(entity);

    HttpResponse response = client.execute(post);
    HttpEntity httpEntity = response.getEntity();

    int status = response.getStatusLine().getStatusCode();

    return status;

  } catch (Exception e) {
    e.printStackTrace();
    return null;
  }
}

关于java - MultipartEntity 文件未通过设备上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36766819/

相关文章:

android - Samsung Galaxy S3 版本 4.1.1 中的 Camera Force Closing 问题

android - 如何调用另一个 Activity 的方法

angular - 如何使用httpclient拦截angular jsonp请求

java - 如何使用 Apache HTTPClient 忽略 SSL 证书错误但记录它

java - NullPointerException 即使没有什么是空的?

java - 找不到运行 Android 应用程序的 Activity 兼容设备

java - 按顺序、向前和向后打印 LinkedList 列表

java - 这是用不同单位实现距离的好方法吗

android - 来自 Android 模拟器的 VPN 连接失败

c# - ASP 核心 HttpClient.Get 从容器到本地主机站点失败