如何从Android上传PDF文件?

时间:2017-03-07 21:39:34

标签: java android file-upload multipartform-data

我已按照此guidance实施网络服务,以将文件上传到Azure存储。

我已将它发布到Azure。它在Postman上运作良好。

我想从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代码。我的脑袋受伤了。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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();
        }