Я использую Jersey для своего REST-бэкенда и разрабатываю функцию загрузки в формате pdf.Я подготовил HTML-форму и бэкэнд-метод REST для загрузки, но я могу загрузить только на свой компьютерный диск (например, по пути C: / uploaded).Есть ли способ загрузки в каталог Tomcat за пределами моего приложения?Например, в разделе «webapps / my-files»?
Я использую Jersey 2.3 с многокомпонентной библиотекой и Tomcat 8.5.37, если это необходимо.
Я читаю множество общих и других вопросов, нозатем все используют c: / uploadedFiles или подобное в качестве места загрузки, поэтому мои сомнения все еще здесь.
Во-первых, я написал свой REST-сервис:
@POST
@Path("upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.TEXT_PLAIN)
public String uploadFile (@FormDataParam("file") InputStream file, @FormDataParam("file") FormDataContentDisposition fileData) {
String uploadPath = "C:\\uploaded" + fileData.getFileName();
try {
int read = 0;
byte[] bytes = new byte[1024];
OutputStream out = new FileOutputStream(new File (uploadPath));
while ((read = file.read(bytes)) != -1) {
out.write(bytes, 0, read);
}
out.flush();
out.close();
return "Completed";
} catch (IOException ex) {
return ex.getMessage();
}
}
Затем я попыталсявызовите его из Postman с методом POST и используя простой файл PDF в качестве тела запроса, и это работает.
Но теперь я хочу загрузить его в папку на сервере, а не в любое место на диске C: /.Я хочу знать, где я должен разместить каталог на сервере?Я пробовал под webapps /, нормально?И затем, как я могу правильно установить переменную «uploadPath» для загрузки в этот каталог?