java - FileNotFoundException(权限被拒绝)

标签 java tomcat servlets apache-commons-fileupload

全部, 我正在使用 commons-FileUpload 让我的学生通过类(class)网站将他们的作业上传到我的服务器。在我的本地机器上运行 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)

违规代码:

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;
        }

我只是修改了程序写入的目录,所以它们都是 drw-rw-rw-。有什么建议吗?

最佳答案

答案是 chmod 777 而不是 666。

关于java - FileNotFoundException(权限被拒绝),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18949922/

相关文章:

Java顺序解析文件中的信息

java - 创建属性文件时出现问题

java - 服务器中的 RMI UnmarshalException

java - 意外的 Servlet 缓存

tomcat - JAX-WS:来自另一个 Web 服务的 Web 服务调用

tomcat - Grails fork tomcat 执行不工作

java - 如何在 jsp 页面和 servlet 之间共享数据

java - 为什么泛型绑定(bind) "E implements I"会导致编译器错误?

java - JSP:使用 'out' ( jspWriter) 的委托(delegate)和 jsp includes 来改变表达式的行为

spring - 为什么使用 HttpServletRequest 向浏览器发送响应?