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