如何从servlet中的项目文件夹中提供输入文件

时间:2014-07-22 10:01:27

标签: java jsp servlets

我必须将任何类型的文件作为文件夹输入并想要将它们作为列表进行检索,并且在单击该列表中的任何文件之后该文件应该下载我可以在正常的类中执行一半,我正在制作项目中的文件夹,并执行此过程,从该文件夹获取输入并保存到其他文件夹,但是当我使用servlet时,它无法正常工作,无法将该文件夹中的文件显示错误。

这是我的代码

public class main extends HttpServlet {
    private static String INPUTFILE = "Salary/pivot.pdf";

    public void doGet(HttpServletRequest request, HttpServletResponse response) 
        throws ServletException, java.io.IOException {
        try {
            Document document = new Document();
            PdfWriter writer = PdfWriter.getInstance(document,
                 new FileOutputStream("D:/test/ReadPdf.pdf"));
            document.open();

            PdfReader reader = new PdfReader(INPUTFILE);
            int n = reader.getNumberOfPages();
            PdfImportedPage page;

            for (int i = 1; i <= n; i++) {
                // only page number 2 will be included
                page = writer.getImportedPage(reader, i);
                Image instance = Image.getInstance(page);
                document.add(instance);
            }
            document.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
} 

当我删除该文件夹时只提供文件名作为输入并保留在项目中还将文件直接放入其能够查找和工作的Web内容,但我想要文件夹。

1 个答案:

答案 0 :(得分:1)

尝试使用servletContext.getRealPath这样的方法:

PdfReader reader = new PdfReader(getServletContext().getRealPath("/Salary/pivot.pdf"));

查看Documentation

中的详细信息