2016-11-29 1 views
0

У меня есть служба API, написанная на Python, и документация для нее в Postman. Все запросы в Postman работают хорошо, но Java-код (с библиотекой OkHttp), сгенерированный из запроса на загрузку файла, возвращает «Internal Server Error», я проверил журналы сервера и обнаружил, что файл не был доставлен, он разбился перед входом в views.py ,Код, созданный в Postman, не работает должным образом в Android-проекте

Запрос скриншоты из Почтальон (Токен и адрес скрыты, но они собственно)

Скриншоты из Почтальон:

1) Headers screenshot

2) Body screenshot

Java Code

private final OkHttpClient client = new OkHttpClient(); 

    public void run(String fileName) throws IOException { 

     String url = "http://*****:8025/v1/add_new_record/"; 
     File file = new File(fileName); 

     RequestBody formBody = new MultipartBody.Builder() 
       .setType(MultipartBody.FORM) 
       .addFormDataPart("file_url", file.getName(), 
         RequestBody.create(MediaType.parse("text/plain"), file)) 

       .build(); 
     Request request = new Request.Builder() 
       .url(url) 
       .post(formBody) 
       .addHeader("Authorization", "Token *****") 
       .build(); 
     Response response = this.client.newCall(request).execute(); 
     Log.i("data",response.message());} 
+0

Попробуйте http://stackoverflow.com/a/40524159/4238189 – young

+0

@mablevj, но я добавляю файл для запроса, а не объект json – lucas63

ответ

0

Этот код работает правильно, я просто забываю добавлять разрешения на чтение/запись.

Смежные вопросы