Загрузка файла на сервер rest api

 
 
 
Сообщения:2
Доброе врeмья суток

я java начал изучать недавно, вот столкнулся с проблемой
не получается загрузить файл на сервер, фронтенд у меня на vueJs
при отправлении файла получаю ошибку http error 415 в логах tomcat
тоже такая же ошибка я куча всего перегуглил но ничего не выходит
может кто растолкует проблему?
вот код

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Set;

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;
import javax.ws.rs.core.StreamingOutput;

import org.apache.log4j.Logger;
import org.springframework.web.bind.annotation.RequestParam;
import es.ree.esios.utiles.coding.Base64.InputStream;

@Consumes("application/json")
@Produces("application/json")
public class SomIcomWebServicesImpl implements SomIcomWebServices {
	
	@POST
	@Path("/uploadFile")
	@Consumes(MediaType.MULTIPART_FORM_DATA)
	public Response uploadFile(@QueryParam("file") InputStream uploadedInputStream,
	@QueryParam("file") File fileDetail,
	@QueryParam("dirName") String dirName) {

	// check if all form parameters are provided
	if (uploadedInputStream == null) {
	return Response.status(400).entity("Invalid form data").build();
	}
	
	try {
	SomIcomWSServicesHelper.createFolderIfNotExists(dirName);
	} catch(SecurityException se) {
	return Response.status(500)
	.entity("Can not create destination folder on server")
	.build();
	}
	
	String uploadedFileLocation = dirName + fileDetail.getName();
	
	try {
	SomIcomWSServicesHelper.saveFile(uploadedInputStream, uploadedFileLocation);
	} catch(IOException e) {
	return Response.status(500).entity("Can not save file").build();
	}
	
	return Response.status(200)
	.entity("File saved to " + uploadedFileLocation).build();
	}

}


и фронтенд

const formData = new FormData();
 formData.append('file', this.selectedFile)
 formData.append('dirName', this.urlLink)

 axios.post('UploadTest/rest/uploadFile', formData, {
 headers: {
 'Content-Type': 'multipart/form-data'
 }
 }).then((response) => {
 resolve(response)
 }).catch((error) => {
 reject(error)

 })
Изменен:11 сен 2019 15:15
 
 
Сообщения:870
Приветствую!

Вот ссылка на рабочий пример. Сервер на котором тестировалось - TomEE.
Удачи.
 
 
Сообщения:2
gidravlic:
Приветствую!

Вот ссылка на рабочий пример. Сервер на котором тестировалось - TomEE.
Удачи.


Большое человеческое спасибо! посмотрю
 
Модераторы:frymock
Сейчас эту тему просматривают:Нет