Пожалуйста, помогите мне, как преобразовать переменную Multipart.Part в файл в Android.
Я использую API REST с модификацией для загрузки файла на сервер.Вот как я загрузил файл на сервер, используя модификацию.
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), requestFile);
И в downloadFileApi сервер возвращает файл в виде данных в формате JSON.Например,
{
"fileName": "file.pdf",
"file":"form_data_here"
}
Внутри файла значением является строка, представляющая собой form_data, или я не знаю, какой именно это формат.Он содержит много случайных букв и цифр.
Я понял, что сервер должен отправлять файл, а не в виде строки в формате JSON.Если бы они разработали сервер для отправки реального файла, я бы использовал ResponseBody, чтобы получить файл.Но теперь я должен использовать класс модели POJO.
Я также пытался преобразовать строку в ResponseBody следующим образом
ResponseBody.create(MediaType.parse("application/pdf"), "form_data_here");
Пробовал тоже,
ResponseBody.create(MediaType.parse("multipart/form-data"), "form_data_here");
Изатем преобразовать это тело в byteStream.Но файл результатов становится поврежденным.Фактический файл должен быть PDF-файлом, но файл результатов, похоже, поврежден.Если я изменю расширение файла на .txt, тогда я смогу увидеть строку form_data в этом текстовом файле, чего не должно быть.
Итак, как это решить?Или API должен вернуть файл вместо JSON-ответа?
Насколько я понял, они неправильно разработали API.