Android — метаданные файла отсутствуют на сервере во время многочастной загрузки OkHttpJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Android — метаданные файла отсутствуют на сервере во время многочастной загрузки OkHttp

Сообщение Anonymous »

Я использую OkHttp для загрузки аудиофайла из моего приложения Android на сервер. Перед загрузкой я проверяю, что файл существует, действителен и доступен для чтения. Хотя сервер, кажется, получает объект файла, я получаю сообщение об ошибке, связанное с отсутствием метаданных, таких как имя файла и размер файла.
Код клиента
Вот код, который я использую на стороне клиента для проверки файла и отправки его на сервер в виде составного запроса.

Код: Выделить всё

  private boolean sendFileDataToServer(JSONObject sendInfoData) throws IOException, JSONException {
Log.d(TAG, "sendFileDataToServer called");

// Initialize OkHttpClient and add logging interceptor
HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor();
loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);

OkHttpClient client = new OkHttpClient.Builder()
.addInterceptor(loggingInterceptor)
.build();
Log.d(TAG, "OkHttpClient initialized with NetworkInterceptor and logging");

// Extract file path from JSON data
String filePath = sendInfoData.optString("audio");
Log.d(TAG, "Extracted file path: " + filePath);
File file = new File(filePath);

// Initialize request body
RequestBody requestBody;

// If file path is "empty" or file does not exist, switch to a standard form request
if ("empty".equals(filePath) || !file.exists() || !file.isFile() || file.length() Журнал HTTP-запросов: журнал HTTP-запросов на стороне клиента показывает, что метаданные файла включены в запрос.
Ошибка на стороне сервера: несмотря на это, журналы сервера показывают, что имя_файла и размер_файла пусты.
>Вопросы
Есть ли какая-либо возможная причина отсутствия метаданных при загрузке файла в виде составного запроса с помощью OkHttp?
Существуют ли дополнительные настройки или шаги для обеспечения полного получения метаданных на сервере?
/>Есть предложения по альтернативным подходам, позволяющим гарантировать, что метаданные не пропали?
Спасибо за любую помощь, которую вы можете оказать!
Что я пробовал< /h1>
Перед отправкой я проверил существование, читаемость и размер файла. Я ожидал, что метаданные файла (например, имя_файла, размер_файла) будут точно переданы на сервер.
Ожидаемый результат
Я ожидал, что сервер получит файл и все его метаданные правильно, без пропущенных полей, поэтому его можно успешно сохранить.
Фактический результат
Сервер получил файловый объект, но ключевые поля метаданных, такие как имя_файла, размер_файла и тип, отсутствовали, что привело к ошибке, указывающей, что эти значения не были включены в запрос. 

Подробнее здесь: [url]https://stackoverflow.com/questions/79191148/android-file-metadata-missing-on-server-during-okhttp-multipart-upload[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»