JAVA全系列 教程
3762个小节阅读:7088.6k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
由于文件占据磁盘空间较大,在实际开发中往往会将文件上传到其他服务器中,此时需要使用跨服务器上传文件。
解压tomcat作为图片服务器,在tomcat的webapps下创建upload目录作为文件上传目录。
修改tomcat的conf/web.xml
文件,支持跨服上传。
xxxxxxxxxx
<servlet>
<init-param>
<param-name>readonly</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
修改tomcat的conf/server.xml
文件,修改tomcat端口,修改完开启tomcat服务器
xxxxxxxxxx
<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
编写JSP上传表单
xxxxxxxxxx
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>上传</title>
<script src="/js/jquery-2.1.1.min.js"></script>
<script src="/js/jquery.form.js"></script>
</head>
<body>
<h3>文件上传</h3>
<form id="ajaxForm" enctype="multipart/form-data" >
<input type="file" name="file"/>
<input type="button" value="上传头像" id="btn"/>
</form>
<img src="/" width="100" id="img">
<script>
$(function () {
$("#btn").click(function () {
$("#ajaxForm").ajaxSubmit({
url:"/fileUpload5",
type:"post",
success:function (data) {
$("#img").attr("src",data);
}
})
})
})
</script>
</body>
</html>
添加跨服上传依赖
xxxxxxxxxx
<!-- 跨服上传 -->
<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>
创建控制器方法,该方法在接受到上传请求后将文件保存到其他服务器上。
xxxxxxxxxx
@RequestMapping("/fileUpload5")
@ResponseBody
public String upload4(HttpServletRequest request, MultipartFile file) throws Exception {
// 设置跨服上传的服务器路径
String path = "http://localhost:8081/upload/";
// 获取上传的文件名
String filename = file.getOriginalFilename();
filename = UUID.randomUUID()+"_"+filename;
// 跨服上传:
// 1.创建客户端对象
Client client = Client.create();
// 2.使用客户端对象连接图片服务器
WebResource resource = client.resource(path + filename);
//3.传输数据
resource.put(file.getBytes());
return path+filename;
}
1. 修改tomcat的才能支持跨服上传
A 只读属性为true
B 只读属性为false
C 监听属性为true
D 监听属性为fasle
1=>B