2017-03-07 573 views
1

我按照此guidance实施了一项Web服务,以将文件上传到Azure存储。如何从Android上传PDF文件?

我已将它发布到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代码的任何帮助工作。我的头受伤了。

回答

0

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

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