Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp 文件上传在IE上工作,但不在Chrome和Mozilla上工作_Jsp_Servlets_File Upload - Fatal编程技术网

Jsp 文件上传在IE上工作,但不在Chrome和Mozilla上工作

Jsp 文件上传在IE上工作,但不在Chrome和Mozilla上工作,jsp,servlets,file-upload,Jsp,Servlets,File Upload,我正在尝试将文件从一个驱动器复制到另一个驱动器,就像我们在网页上所做的那样。我正在为此使用jspservlet组合。为了复制文件,我使用了FileChannel。 这在Eclipse的内置浏览器和IE上运行良好,但在Chrome或Mozilla上则不行。有什么建议吗 Index.jsp Eclipse上的控制台: 要实际上载文件,您需要在form元素上添加enctype=“multipart/form data”。看起来好像您不想上传文件,但只想获取文件名(/path)–但如果未设置所述enct

我正在尝试将文件从一个驱动器复制到另一个驱动器,就像我们在网页上所做的那样。我正在为此使用jspservlet组合。为了复制文件,我使用了FileChannel。 这在Eclipse的内置浏览器和IE上运行良好,但在Chrome或Mozilla上则不行。有什么建议吗

Index.jsp Eclipse上的控制台:
要实际上载文件,您需要在
form
元素上添加
enctype=“multipart/form data”
。看起来好像您不想上传文件,但只想获取文件名(/path)–但如果未设置所述enctype,浏览器如何处理该文件,则未指定AFAIK。(而且出于安全原因,现代浏览器也不会提供完整的本地文件系统路径。)您不能在文件上载时使用
request.getParameter
。查找Apache Commons文件上载。
form action="Upload">
    <table>
        <tr>
            <td><input type ="file" name="file"></td>
            <td><input type="submit" name="submit" value="UPLOAD"></td>
        </tr>
    </table>
</form>
File f = new File(request.getParameter("file").toString());

        FileChannel ic = null;
        FileChannel oc = null;

        try
        {
            ic = new FileInputStream(request.getParameter("file").toString()).getChannel();
            oc = new FileOutputStream("e:\\"+f.getName()).getChannel();
            oc.transferFrom(ic, 0, ic.size());
        }
        finally
        {
            ic.close();
            oc.close();
        }
Apr 01, 2014 5:18:00 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [util.Upload] in context with path [/FileUpload] threw exception
java.lang.NullPointerException
    at util.Upload.doGet(Upload.java:62)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:550)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:380)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)