Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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
Java 在服务器路径中存储用户上载的图像_Java - Fatal编程技术网

Java 在服务器路径中存储用户上载的图像

Java 在服务器路径中存储用户上载的图像,java,Java,我有一个用户表单,其中用户可以上传一个图像。我想将该图像存储在ApacheTomcat服务器上 我试过这样的代码 String filePath = getServlet().getServletContext().getRealPath("/") +"Images"; outputStream = new FileOutputStream(filePath); outputStream.write(userForm.getUploadedFile().getFileData

我有一个用户表单,其中用户可以上传一个图像。我想将该图像存储在ApacheTomcat服务器上

我试过这样的代码

 String filePath = getServlet().getServletContext().getRealPath("/") +"Images";

    outputStream = new FileOutputStream(filePath);
    outputStream.write(userForm.getUploadedFile().getFileData());
但是它给了我FileNotFound异常..我不知道是什么问题

java.io.FileNotFoundException: D:\aarti juno\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\NewStrutsOBL\Images (Access is denied)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:110)
    at com.fulcrum.obl.Action.UserAction.addUser(UserAction.java:146)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
    at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at com.fulcrum.obl.filter.SessionFilter.doFilter(SessionFilter.java:45)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:724)

请对此进行指导。

不要使用相对路径从eclipse进行测试。您必须已经在项目文件夹中创建了文件夹“Images”…是的,该路径中已经有一个名为“Images”的文件夹。。那么为什么会出现问题呢?相反,它应该写入该文件夹..对吗?您可能不使用路径分隔符。。。你可以直接做。。。字符串filePath=request.getSession().getServletContext().getRealPath(“图像”);它给出了同样的例外
outputStream = new FileOutputStream(filePath);