PUT 文件 returned a response status of 403 Forbidden

简单来说:文件服务器缺少允许文件读写的配置,直接跳到本帖下面web.xml文件部分,添加配置信息即可解决!

使用springmvc 跨服务器进行文件上传时出现错误:

jersey 上传文件报错出现returned a response status of 403 Forbidden 或returned a response status of 409 Conflict

409错误一般为文件服务器存放文件的目录结构不完整,找不到路径,需要自己进行目录结构完善和补全,即可排查错误。

403错误如下:

HTTP Status 500 – Internal Server Error
Type Exception Report

Message Request processing failed; nested exception is com.sun.jersey.api.client.UniformInterfaceException: PUT http://localhost:8081/uploads/2cc1ed31ffc1411d9d5808107ae28453_logo.png returned a response status of 403 Forbidden

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is com.sun.jersey.api.client.UniformInterfaceException: PUT http://localhost:8081/uploads/2cc1ed31ffc1411d9d5808107ae28453_logo.png returned a response status of 403 Forbidden
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:986)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:881)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:855)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
Root Cause

com.sun.jersey.api.client.UniformInterfaceException: PUT http://localhost:8081/uploads/2cc1ed31ffc1411d9d5808107ae28453_logo.png returned a response status of 403 Forbidden

原因:

因为所使用的文件服务器,单纯用来存储文件,还未进行其他配置,未配置支持文件写入所以出现问题。

网上搜索之后解决方式为在servlet标签下添加:

<init-param>

<param-name>readonly</param-name>

<param-value>false</param-value>

</init-param>

因为没有进行任何配置,连servlet标签都没有,无法直接添加,所以提供一个相对纯净的模板来提供tomcat服务器针对支持文件写入的配置

web.xml

<!DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd" >

<!--suppress ALL -->
<web-app>
    <display-name>Archetype Created Web Application</display-name>

    <servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>readonly</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
</web-app>

添加之后,文件服务器进行正常工作,查看存放目录,文件均正常存储。

原文地址:https://www.cnblogs.com/STK0210/p/11216404.html

时间: 2024-11-01 23:54:00

PUT 文件 returned a response status of 403 Forbidden的相关文章

Tomcat上传文件报错:returned a response status of 403 Forbidden

出现这样的错误是没有权限对服务器进行写操作.需要在这个项目所在的tomcat中配置可写操作即可: 在tomcat的web.xml添加下面代码: <init-param> <param-name>readonly</param-name> <param-value>false</param-value> </init-param>

MAMP &quot;403 Forbidden You don&#39;t have permission to access / on this server.&quot;

2015年01月22日 17:27:31 阅读数:3488 用MAMP搭建本地服务器的时候,设置好ip和端口等属性之后,浏览器访问,报 403错误: Forbidden You don't have permission to access / on this server. google之后,stackoverflow已有类似的问题:http://stackoverflow.com/questions/10873295/error-message-forbidden-you-dont-have

ajax response status list [转载]

比较理想的解释方法应该以"状态:任务(目标)+过程+表现(或特征)"的表达模式来对这几个状态进行定义 [全文] 在<Pragmatic Ajax A Web 2.0 Primer >中偶然看到对readyStae状态的介绍,感觉这个介绍很实在,摘译如下: 0: (Uninitialized) the send( ) method has not yet been invoked.  1: (Loading) the send( ) method has been invok

解决git提交问题error: The requested URL returned error: 403 Forbidden while accessing

git提交代码时,出现这个错误"error: The requested URL returned error: 403 Forbidden while accessing https" 解决方法: 编辑.git文件夹下的config文件就可以. vim .git/config #改动对于的配置 #原来的url = https://github.com/elitecodegroovy/PhoenixC.git url = https://[email protected]/elitec

linux下运行strlwr函数出错:ld returned 1 exit status

运行strlwr函数时报错,源程序如下: #include<stdio.h> #include<string.h> void main() { char s[10]={"CHINA"}; printf("%s\n",strlwr(s)); return 0; } 报错内容如下: eg6527a.c: In function 'main': eg6527a.c:8:2: warning: 'return' with a value, in fu

C_BigDecimal_Permission denied ld returned 1 exit status

最近在做大数运算这个课题.由于浮点数的表示范围有限,float型浮点数最多有7位十进制有效数字,如果定义为float,而输入的数字超过7位,计算机将会自动将超出的部分四舍五入,计算误差将会很大,所以就有了大数运算.输入的是字符串,可以定义到很大,将每个字符存储到数组中(C语言中没有string型,直接定义数组char str[]),然后通过把字符转化成数字进行相应计算,后面会记录我的课题收获的. 今天想记录一下Permission denied   ld returned 1 exit stat

gcc/g++ 编译时出现:“对’xxxx’未定义的引用,collect2: error: ld returned 1 exit status” 的错误

出现的问题: 在使用 make 编译实现一个程序时,出现了下面的错误.查看程序源文件所在的目录时发现程序已经完成了编译,并生成了 list_repo.o 的文件,说明是在程序链接生成可执行文件时发生了问题. storages/local.o:在函数‘LocalStorage::init(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >,

【转】SVN问题:Server sent unexpected return value (403 Forbidden) in response to OPTIONS

此方法不必删除目录重新下载:针对于第一次成功checkout,一段时间后,update 报此 403错误,我找到了解决方法:即 使用switch 重新定位svn路径,解决这个问题.(附图)ps:能svn checkout 那么你的路径就是正确的,如果大小写错误,svn是不支持checkout.如果是无意中修改了svn路径,那也可以用switch重新定位一次路径,就可以解决.   如果权限出错,提示将不会是 request for  "--"附:有时候管理员会修改版本库的"基本

linux下执行strlwr函数出错:ld returned 1 exit status

执行strlwr函数时报错.源程序例如以下: #include<stdio.h> #include<string.h> void main() { char s[10]={"CHINA"}; printf("%s\n",strlwr(s)); return 0; } 报错内容例如以下: eg6527a.c: In function 'main': eg6527a.c:8:2: warning: 'return' with a value, i