【问题标题】:File Upload in AndroidAndroid中的文件上传
【发布时间】:2014-03-04 09:59:38
【问题描述】:

我正在尝试从 android 上传一个文件以及其他一些文本字段。我不断收到此错误

org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. Stream ended unexpectedly

但是,如果我在没有文件的情况下进行上传(即只有文本字段),它就可以工作。 当我从网页上传文件并点击同一个 servlet 时,文件上传工作。

【问题讨论】:

  • 发布相关代码
  • 可能是您在某些地方关闭了流。所以在这里展示你的代码。
  • 发布您的代码和完整的 logcat
  • 我怀疑您正在异步运行此程序(在 AsyncTask 或类似名称中)并同时在另一个线程中关闭您的 InputStream。您可以在打开流、开始传输并再次关闭流的位置发布代码吗?
  • 看看这个,stackoverflow.com/questions/19762581/…,它是通用的,不仅适用于图像

标签: android


【解决方案1】:

这就是我上传文件的工作方式,这可能对您有用,如果您在实施过程中有任何问题,可以找我。

HttpClient httpClient = new DefaultHttpClient();
  HttpPost httpPost = new HttpPost(uploadUrl);
  File file = new File(path);
  if (file.exists()) {
    FileBody fileBody = new FileBody(file);
   MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
    reqEntity.addPart("file", fileBody);
    if (httpPost != null) {
      httpPost.setEntity(reqEntity);
      httpClient.execute(httpPost);

【讨论】:

  • 我一直在使用这个代码。我发现了我的问题。我正在使用库来获取文件路径。这个图书馆让我走错了路。因此问题。一旦我更改了库,它就开始工作了。
猜你喜欢
  • 1970-01-01
  • 2016-04-13
  • 1970-01-01
  • 2018-01-18
  • 1970-01-01
  • 1970-01-01
  • 2012-07-28
  • 2012-03-28
  • 1970-01-01
相关资源
最近更新 更多