记录下学习spring mvc跨服务器上传文件的demo
文件存储服务器配置
- 首先文件服务器直接创建一个web工程,在webapp目录下创建一个存放上传文件的文件夹。
- 在文件服务器的conf/web.xml中配置允许写入静态资源
- 配置方式:在web.xml搜索default然后加入下面的xml
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
配置好的样子
4.存储文件的服务器配置完成
上传文件的服务器
maven
<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>
html代码
<h2 style="color:palevioletred">SpringMvc跨服务器文件上传方式</h2>
<form action="file/CorssFile" method="post" enctype="multipart/form-data">
请选择文件上传:<input type="file" name="file">
<input type="submit" value="提交">
</form>
java代码
@RequestMapping("/CorssFile")
public String SpringMvcCssor(MultipartFile file) throws IOException {
//存储文件服务器的路径
String path = "http://localhost:1099/LocalFtp/";
String filename = file.getOriginalFilename();
uuid对文件名处理唯一性
String aCase = UUID.randomUUID().toString().replaceAll("-", "").toLowerCase();
filename = filename + aCase;
//创建客户端对象
Client client = Client.create();
// 连接图片服务器
WebResource resource = client.resource(path + filename);
// 上传文件
resource.put(file.getBytes());
return "success";
}
以上都写完后,可能有些朋友可能会遇到一个异常
PUT http://localhost:1099/LocalFtp/69f070620aa54e2f97a2c62299e02d14_1715-9.jpg returned a response status of 403 Forbidden
这个异常产生的解决办法:你需要你看下你的存储服务器中target下与WEB-INF同级中,是否有你用来存储上传过来文件的文件夹,如果没有,直接创建一个即可。
上一篇:springMvc上传文件到本地服务器