2017-02-10 12 views
-4

Я получаю файл от результата активности. Или я должен сообщить его версию uri.Не могу загрузить файл через okhttp3

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

Спасибо за ваше время.

ответ

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

Перейти через этот блог для URIHow to Consume Content From a Uri

ИЛИ

Get filename and path from URI from mediastore

+0

Хорошо я постараюсь это и сообщить вам –

+0

Upvoting свой ответ, как это помогло me.I ответили на этот вопрос по этой ссылке http://stackoverflow.com/questions/42140447/file-upload-through-okhttp3 –