Mik*_*hie 2 java tomcat servlets apache-commons-fileupload
所有,我正在使用commons-FileUpload来允许我的学生通过班级网站将他们的作业上传到我的服务器.它可以很好地在我的本地机器上运行tomcat/eclipse.但是,在我的服务器上测试时,我通过digitalocean.com获取了FileNotFoundException(PermissionDenied).
堆栈跟踪:
java.io.FileNotFoundException:
/uploads/cosc111fall2013/Assignment1/Program1.java (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:209)
at java.io.FileOutputStream.<init>(FileOutputStream.java:160)
at org.apache.commons.fileupload.disk.DiskFileItem.write(DiskFileItem.java:394)
at uploadServlet.Uploader.doPost(Uploader.java:127)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
Run Code Online (Sandbox Code Playgroud)
违规代码:
try {
for (FileItem fi : uploaded) {
fi.write(new File(saveDirectory + fileName + "_"
+ FilenameUtils.getName(fi.getName())));
}
} catch (Exception e) {
e.printStackTrace();
response.sendRedirect("/uploadFailed.jsp");
return;
}
Run Code Online (Sandbox Code Playgroud)
我只是简化了程序写入的目录,因此它们都是drw-rw-rw-.有小费吗?
| 归档时间: |
|
| 查看次数: |
12776 次 |
| 最近记录: |