У меня есть приложение, где я использую Angular. Введите файл CSV и добавьте файл в форму.
ниже используется код < /p>
var fileInput = document.getElementById('chosenFile');
var fd = new FormData();
fd.append('fileMetadata', JSON.stringify(imgMetadata));
var file = fileInput.files[0];
fd.append('file', file);< /code>
< /div>
< /div>
< /p>
Теперь я звоню в http post, чтобы отправить файл на мой сервер, < /p>
enter code here
$http.post(uploadurl, fd, {
transformRequest: angular.identity,
transformResponse: angular.identity,
headers: {
"X-XSRF-TOKEN": PluginHelper.getCsrfToken(),
"Content-Type": undefined
}
}).then(function successCallback(response) {
console.log("In success callback");
var status = response.status;
if(status == "200")
{
var isValid = response.data;
console.log("FIleupload function in java "+isValid);
if(isValid == "filecopied")
{
$scope.errorText = "filecopied :";
}
}
}, function errorCallback(response) {
console.log("In error callback");
$scope.errorText = "Error in callback file function";
});
< /code>
На моем сервере я написал код Java для чтения файла. < /p>
@POST
@Path("/uploadfile/{csvdata}")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@AllowAll
public Response uploadfile(@PathParam("csvdata") String csvdata, @FormDataParam("fileMetadata") String fileMetadata,
@FormDataParam("file") InputStream uploadedInputStream,
@FormDataParam("file") FormDataContentDisposition fileDetail, FormDataMultiPart multiPartData, @FormDataParam("fd") InputStream formdata) throws Exception {
try {
if (uploadedInputStream == null) {
log.error("Error: uploadedInputStream is null");
//return Response.status(Response.Status.BAD_REQUEST).entity("File input stream is null").build();
}
if (formdata == null) {
log.error("Error: formdata is null");
//return Response.status(Response.Status.BAD_REQUEST).entity("File input stream is null").build();
} else {
log.error("Error: formdata is NOT null");
}
// for file field
final FormDataBodyPart filePart = multiPartData.getField("");
final ContentDisposition fileDetails = filePart.getContentDisposition();
final InputStream fileInputStream = filePart.getValueAs(InputStream.class);
log.error(filePart + "-" + fileDetails + "--" + fileInputStream);
log.error("TRY FILEUPLOAD: " + csvdata);
log.error("File Metadata: " + fileMetadata);
// Process the uploaded file
String uploadedFileLocation = "d://uploaded/" + fileDetail.getFileName();
log.error("uploadedFileLocation: " + uploadedFileLocation);
log.error("fileDetail: " + fileDetail.getSize());
saveToFile(uploadedInputStream, uploadedFileLocation);
return Response.status(Response.Status.OK).entity("filecopied").build();
} catch (Exception e) {
log.error("catch uploadfile: " + e.toString() + "-" + e.getMessage());
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity("Cannot copy!!").build();
}
}
private void saveToFile(InputStream uploadedInputStream, String target) {
try (OutputStream out = new FileOutputStream(new File(target))) {
log.error("TRY saveToFile");
int read;
byte[] bytes = new byte[1024];
while ((read = uploadedInputStream.read(bytes)) != -1) {
out.write(bytes, 0, read);
}
} catch (IOException e) {
log.error("catch saveToFile: " + e.toString() + "-" + e.getMessage());
}
}
< /code>
Если вы видите параметры метода, < /p>
1-@PathParam("csvdata") String csvdata, @FormDataParam("fileMetadata") String fileMetadata,
2-@FormDataParam("file") InputStream uploadedInputStream,
3-@FormDataParam("file") FormDataContentDisposition fileDetail,FormDataMultiPart
4-multiPartData,@FormDataParam("fd") InputStream formdata
< /code>
Я пробовал выше параметры, но uploadedInputStream и InputStream всегда приходит NULL.
Я могу получить
csvdata
fileTail
filemetAdata < /p>
Но я не могу получить файл из xhtml в api api. . < /p>
Я попытался передавать несколько параметров в коде Java, но без удачи. < /p>
Пример вывода I Get IS
uploadedInputStream-это null
formData null
uploadfile: java.lang.nullpointerexception null < /pm>>
Подробнее здесь: https://stackoverflow.com/questions/794 ... using-java
Невозможно прочитать файл из Angular и передать его в API, построенный с использованием Java ⇐ Javascript
Форум по Javascript
1741585205
Anonymous
У меня есть приложение, где я использую Angular. Введите файл CSV и добавьте файл в форму.
ниже используется код < /p>
var fileInput = document.getElementById('chosenFile');
var fd = new FormData();
fd.append('fileMetadata', JSON.stringify(imgMetadata));
var file = fileInput.files[0];
fd.append('file', file);< /code>
< /div>
< /div>
< /p>
Теперь я звоню в http post, чтобы отправить файл на мой сервер, < /p>
enter code here
$http.post(uploadurl, fd, {
transformRequest: angular.identity,
transformResponse: angular.identity,
headers: {
"X-XSRF-TOKEN": PluginHelper.getCsrfToken(),
"Content-Type": undefined
}
}).then(function successCallback(response) {
console.log("In success callback");
var status = response.status;
if(status == "200")
{
var isValid = response.data;
console.log("FIleupload function in java "+isValid);
if(isValid == "filecopied")
{
$scope.errorText = "filecopied :";
}
}
}, function errorCallback(response) {
console.log("In error callback");
$scope.errorText = "Error in callback file function";
});
< /code>
На моем сервере я написал код Java для чтения файла. < /p>
@POST
@Path("/uploadfile/{csvdata}")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@AllowAll
public Response uploadfile(@PathParam("csvdata") String csvdata, @FormDataParam("fileMetadata") String fileMetadata,
@FormDataParam("file") InputStream uploadedInputStream,
@FormDataParam("file") FormDataContentDisposition fileDetail, FormDataMultiPart multiPartData, @FormDataParam("fd") InputStream formdata) throws Exception {
try {
if (uploadedInputStream == null) {
log.error("Error: uploadedInputStream is null");
//return Response.status(Response.Status.BAD_REQUEST).entity("File input stream is null").build();
}
if (formdata == null) {
log.error("Error: formdata is null");
//return Response.status(Response.Status.BAD_REQUEST).entity("File input stream is null").build();
} else {
log.error("Error: formdata is NOT null");
}
// for file field
final FormDataBodyPart filePart = multiPartData.getField("");
final ContentDisposition fileDetails = filePart.getContentDisposition();
final InputStream fileInputStream = filePart.getValueAs(InputStream.class);
log.error(filePart + "-" + fileDetails + "--" + fileInputStream);
log.error("TRY FILEUPLOAD: " + csvdata);
log.error("File Metadata: " + fileMetadata);
// Process the uploaded file
String uploadedFileLocation = "d://uploaded/" + fileDetail.getFileName();
log.error("uploadedFileLocation: " + uploadedFileLocation);
log.error("fileDetail: " + fileDetail.getSize());
saveToFile(uploadedInputStream, uploadedFileLocation);
return Response.status(Response.Status.OK).entity("filecopied").build();
} catch (Exception e) {
log.error("catch uploadfile: " + e.toString() + "-" + e.getMessage());
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity("Cannot copy!!").build();
}
}
private void saveToFile(InputStream uploadedInputStream, String target) {
try (OutputStream out = new FileOutputStream(new File(target))) {
log.error("TRY saveToFile");
int read;
byte[] bytes = new byte[1024];
while ((read = uploadedInputStream.read(bytes)) != -1) {
out.write(bytes, 0, read);
}
} catch (IOException e) {
log.error("catch saveToFile: " + e.toString() + "-" + e.getMessage());
}
}
< /code>
Если вы видите параметры метода, < /p>
1-@PathParam("csvdata") String csvdata, @FormDataParam("fileMetadata") String fileMetadata,
2-@FormDataParam("file") InputStream uploadedInputStream,
3-@FormDataParam("file") FormDataContentDisposition fileDetail,FormDataMultiPart
4-multiPartData,@FormDataParam("fd") InputStream formdata
< /code>
Я пробовал выше параметры, но uploadedInputStream и InputStream всегда приходит NULL.
Я могу получить
csvdata
fileTail
filemetAdata < /p>
Но я не могу получить файл из xhtml в api api. . < /p>
Я попытался передавать несколько параметров в коде Java, но без удачи. < /p>
Пример вывода I Get IS
uploadedInputStream-это null
formData null
uploadfile: java.lang.nullpointerexception null < /pm>>
Подробнее здесь: [url]https://stackoverflow.com/questions/79497103/unable-to-read-a-file-from-angular-and-pass-it-to-api-built-using-java[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия