微前端架构如何改变企业的开发模式与效率提升
403
2023-07-26
springMVC+jersey实现跨服务器文件上传
本文实例为大家分享了springMVC+jersey实现跨服务器文件上传的具体代码,供大家参考,具体内容如下
1.首先添加所需要的jar包
function fileUpload(){
var option = {
type:"POST",
url:"${pageContext.request.contextPath }/user/fileUpload.do",
data:{
fileName:"imgFile"
},
success:function(reData){
alert(reData.reletivePath);
$("#imgSrc").attr("height",100);
$("#imgSrc").attr("width",100);
$("#imgSrc").attr("src",reData.fullPath);
$("#reletivePath").val(reData.reletivePath);
},
dataType:"json"
};
$("#fm").ajaxSubmit(option);
}
5. controller
/*
* 文件上传
*/
@RequestMapping("fileUpload")
public @ResponseBody Map
System.out.println(111);
//1.将普通请求转换为多部件请求
MultipartHttpServletRequest mr = (MultipartHttpServletRequest)request;
//2.根据文件名获取文件对象
CommonsMultipartFile mf = (CommonsMultipartFile)mr.getFile(fileName);
//3.获取文件全名称
String originalFilename = mf.getOriginalFilename();
System.out.println("文件全名称"+originalFilename);
//4.获取后缀
String suffix = originalFilename.substring(originalFilename.lastIndexOf("."));
System.out.println("后缀"+suffix);
//5.将文件对象转换为字节
byte[] fileBytes = mf.getBytes();
//6.获取新的随机文件名
String newFileName="";
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
int num = (int)(Math.random()*899)+100;
newFileName = sdf.format(new Date())+num;
System.out.println("新的随机文件名"+newFileName);
//开始上传
//1.创建jesy服务器
Client client = Client.create();
String fullPath = "http://localhost:8088/fileServiceProject/upload/"+newFileName+suffix;
//把文件关联到远程服务器
WebResource wr = client.resource(fullPath);
//2.相对路径
String reletivePath = "/upload/"+newFileName+suffix;
//3.上传
wr.put(String.class, fileBytes);
Map
map.put("fullPath", fullPath);
map.put("reletivePath", reletivePath);
return map;
}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~