如何在Tomcat目录中上传pdf文件?

时间:2019-06-04 10:23:07

标签: file tomcat jersey

我正在将Jersey用于我的REST后端,并且正在开发pdf上传功能。我准备了HTML表单和后端REST方法进行上传,但只能在PC驱动器中上传(例如,路径C:/ uploaded)。有没有方法可以在我的应用程序之外的Tomcat目录中上载?例如,在“ webapps /我的文件”下?

如果需要,我正在使用带有多部分库的Jersey 2.3和Tomcat 8.5.37。

我阅读了很多有关turturals和其他问题的信息,但是所有这些都使用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();
        }
    }

然后,我尝试使用POST方法从Postman调用它,并使用一个简单的pdf文件作为请求正文,并且它可以工作。

但是现在我要上传到服务器文件夹中,而不要上传到任何C:/驱动器位置。我想知道,该目录应该放在服务器的什么位置?我在webapps /下尝试过,可以吗?然后,如何正确设置变量“ uploadPath”以在该目录中上传?

0 个答案:

没有答案