【问题标题】:Cant upload file through okhttp3 [duplicate]无法通过okhttp3上传文件[重复]
【发布时间】:2017-07-26 04:04:29
【问题描述】:

我得到了关于活动结果的文件。或者我应该说它的内容 uri 版本。

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, data);

    if(resultCode==RESULT_OK && requestCode==0){
        Log.d("uri data",""+data.getData());
        selectedFileUri = data.getData();

我的问题是如何通过 okhttp3 方法发送这个文件?

okhttp 3方法如下

multipart.addFilePart("data[User][user_picture]", selectedFileUri);

感谢您的宝贵时间。

【问题讨论】:

    标签: java android file-upload okhttp okhttp3


    【解决方案1】:
    OkHttpClient client = new OkHttpClient();
    
    RequestBody requestBody = new MultipartBody.Builder()
        .setType(MultipartBody.FORM)
        .addFormDataPart("image", "your file name.png",
            RequestBody.create(MEDIA_TYPE_PNG, new File("your absolute file path")))
        .build();
    
    Request request = new Request.Builder()
        .url("Your url")
        .post(requestBody)
        .build();
    
    //Check the response
    try (Response response = client.newCall(request).execute()) {
      if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
    
      System.out.println(response.body().string());
    }
    

    浏览此博客URI How to Consume Content From a Uri

    Get filename and path from URI from mediastore

    【讨论】:

    猜你喜欢
    • 2017-06-27
    • 1970-01-01
    • 2016-06-07
    • 2020-02-10
    • 2016-02-19
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 2015-07-18
    相关资源
    最近更新 更多