java - java web应用程序中的文件上传显示文件未找到异常

标签 java jsp servlets io filenotfoundexception

我正在使用 jsp 和 servlet 开发一个 Web 应用程序。我正在尝试上传一个文件,然后处理该文件的数据。为此,我的 jsp 代码是

<form action="LoadFile" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
     <input type="file" name="file" id="file" size="50" accept=".doc, .docx, .txt"/>
     <br />
     <input type="submit" value="Check Now" name="upload" id="upload"/>
</form>

名为“LoadFile.java”的 Java servlet 在 processRequest 方法中包含以下代码

request.setCharacterEncoding("UTF-8");
        Part filePart = request.getPart("file");
        String fileName = getFileName(filePart);

        OutputStream outStream = null;
        InputStream filecontent = null;
        final PrintWriter writer = response.getWriter();

        try {
            outStream = new FileOutputStream(new File(File.separator
                    + fileName));

            filecontent = filePart.getInputStream();

            int read = 0;
            final byte[] bytes = new byte[1024];

            while ((read = filecontent.read(bytes)) != -1) {
                outStream.write(bytes, 0, read);
            }
            writer.println("New file " + fileName + " created at " + filePath);
        } catch (FileNotFoundException fne) {
            writer.println("You either did not specify a file to upload or are "
                    + "trying to upload a file to a protected or nonexistent "
                    + "location.");
            writer.println("<br/> ERROR: " + fne.getMessage());

        }

每当我尝试上传文件时,它都会给出 FileNotFoundExceptin。 我需要做什么?

最佳答案

在您的 Web 应用程序 WEB-INF 文件夹中创建一个名为 files 的文件夹,并如下更改 FileOutputStream 的代码。

outStream = new FileOutputStream(new File(request.getRealPath("/WEB-INF/")+ "files"+ File.separator
                    + fileName));

关于java - java web应用程序中的文件上传显示文件未找到异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31115857/

相关文章:

java - 如何沿着一条线将 Sprite 一次移动一定数量的像素?

java - GAE什么时候抛出ConcurrentModificationException?

java - 存储过程未在 jsp 中显示结果

java - ByteArrayOutputStream 到 PrintWriter (Java Servlet)

java - 显示从 servlet 发送到 jsp 的对象的信息

java - Java servlet 的 JUnit 测试 : java. lang.NullPointerException

java - LWUIT 本地化菜单栏

GlassFish 服务器中出现 java.lang.UnsupportedClassVersionError?

java - 如何区分 JSP portlet 上的暂存和实时?

java - 如果不满足条件,则防止注销