【问题标题】:How to upload a PDF file from Android?如何从 Android 上传 PDF 文件?
【发布时间】:2017-07-28 06:47:31
【问题描述】:

我已经按照guidance 实现了一个将文件上传到 Azure 存储的 Web 服务。

我已将其发布到 Azure。邮递员可以正常工作。

我想通过 Android 使用此服务上传 PDF 文件。

我上次尝试的代码是这样的:

new MultipartUploadRequest(this, uploadId, url)
      .addFileToUpload(file.getAbsolutePath(), "file", file.getName(), ContentType.APPLICATION_PDF)
      .addParameter("name", file.getName())
      .setDelegate(new MyUploadStatusDelegate())
      .setNotificationConfig(new UploadNotificationConfig())
      .setMaxRetries(0)
      .startUpload();

这导致了 400 响应,但我尝试了几种不同的结果,结果好坏参半。

我已经连接了一个调试器,所以我知道正在调用 Web 服务。我目前无法调试,因此无法使用此版本的调用说明服务器上发生了什么。

如果您能帮我让这个 Android 代码正常工作,我将不胜感激。我的头好痛。

【问题讨论】:

    标签: java android file-upload multipartform-data


    【解决方案1】:

    我不知道我发布的代码有什么问题,但是在查看 addFileToUpload 的源代码后,我可以看到如果内容类型为 null,它会自行解决。我这样做了,嘿,马上就奏效了。

    【讨论】:

      【解决方案2】:
      try {
                  String uploadId = UUID.randomUUID().toString();
      
                  //Creating a multi part request
                  new MultipartUploadRequest(this, uploadId, UPLOAD_URL)
                          .addFileToUpload(path, "f_url") //Adding file
                          .addParameter("category", "file")
                          .addHeader("Authorization", "Bearer " + token) //Adding token
                          .setNotificationConfig(new UploadNotificationConfig())
                          .setMaxRetries(2)
                          .startUpload(); //Starting the upload
      
              } catch (Exception exc) {
                  Toast.makeText(this, exc.getMessage(), Toast.LENGTH_SHORT).show();
              }
      

      【讨论】:

        猜你喜欢
        • 2015-05-10
        • 2016-08-23
        • 1970-01-01
        • 1970-01-01
        • 2011-06-29
        • 2021-10-13
        • 1970-01-01
        相关资源
        最近更新 更多