Отправка файла через API из строки в кодировке JavaScript Base64 в конечную точку Java, которая принимает двоичную строкJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Отправка файла через API из строки в кодировке JavaScript Base64 в конечную точку Java, которая принимает двоичную строк

Сообщение Anonymous »

Я пытаюсь отправить файл в конечную точку API Java из приложения JavaScript. Конечная точка Java принимает двоичную строку для файла в документации. В коде Java он принимает MultipartFile. Я попробовал несколько способов преобразовать строку файла в кодировке JavaScript Base64, но все равно получаю сообщение «415: неподдерживаемый тип носителя».
Вот моя недавняя попытка кода: const handleFilesCallback = async (result) => {
const fileBase64String = result.value.content; // get Base64 encoded file
const byteCharacters = atob(fileBase64String); // convert to byte string
let ia = new Uint8Array(byteCharacters.length); // build Uint8Array
for (let i = 0; i < byteCharacters.length; i++) {
ia = byteCharacters.charCodeAt(i);
}
const binaryString = new Blob(ia, { type: "" }); //create Blob
sendFile(binaryString);
};

Вот вызов API:
const sendFile = async (file) => {
const response = await fetch(
"javaApiUrl",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
yourFile: file,
}),
}
).catch((error) => {
console.log("error:", error);
});
const responseJSON = await response.json();
return responseJSON;
};

Как преобразовать строку файла в кодировке Base64, чтобы часть MultipartFile/двоичная строка Java API была довольна тем, что я отправляю?
ОБНОВИТЬ определение Java API:
@Operation(summary = "Adds file somewhere")
@ApiResponses(value = {
@ApiResponse(responseCode = "200",
description = "File upload success",
content = @Content(
mediaType = "application/json",
schema = @Schema(implementation = Long.class)
))
})
@PostMapping(value = "/file/upload/url", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public Long addFile(@RequestParam("param 1") MultipartFile file) {

return apiService.addfile(file);
}


Подробнее здесь: https://stackoverflow.com/questions/786 ... point-that
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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