Я пытаюсь отправить файл в конечную точку 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
Отправка файла через API из строки в кодировке JavaScript Base64 в конечную точку Java, которая принимает двоичную строк ⇐ JAVA
Программисты JAVA общаются здесь
1719937441
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[i] = 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);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78697805/sending-file-via-api-from-javascript-base64-encoded-string-to-java-endpoint-that[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия