使用Jersey跨服务器上传图片 报405 Method Not Allowed错误

mac2024-04-08  31

在学习Jersey跨服务器上传图片时遇到如下报错 相关包引入:

<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-core</artifactId> <version>1.18.1</version> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-client</artifactId> <version>1.18.1</version> </dependency>

controller:

String path = "http://localhost:9090/uploads/"; String filename = upload.getOriginalFilename(); String uuid = UUID.randomUUID().toString().replace("-", ""); filename = uuid + "_" + filename; Client client = Client.create(); WebResource webResource = client.resource(path + filename); webResource.put(upload.getBytes());

解决:(修改tomcat默认配置,tomcat默认只读)

tomcat目录中conf/web.xml加入readonly=false这一部分 <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>listings</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>readonly</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
最新回复(0)