本文实例为大家分享了springMVC +泽实现跨服务器文件上传的具体代码,供大家参考,具体内容如下
1。首先添加所需要的jar包
,
2。在springMVC的配置文件中添加文件上传解析器
& lt; !——文件上传的解析器——比; & lt; bean id=癿ultipartResolver”类=皁rg.springframework.web.multipart.commons.CommonsMultipartResolver”比; & lt; !——文件上传大小的限制——比; & lt;属性名=" maxUploadSize " value=" https://www.yisu.com/zixun/5000000 "祝辞& lt;/property> & lt;属性名=" defaultEncoding " value=" https://www.yisu.com/zixun/UTF-8 "祝辞& lt;/property> & lt;/bean>jsp页
3.面,
& lt;形式id=暗髌怠毙卸?"方法=皃ost”比; & lt; p> & lt; img src=" id=" imgSrc "/比; 请上传头像:& lt;输入type="文件" name=" imgFile " id=" imgFileοnchange=" fileUpload(); "/比; & lt;输入类型="隐藏" id=" reletivePath " name=" reletivePath " value="比; & lt;/p> & lt;/form>
4。文件上传的js
& lt; !——文件上传js——比; & lt;脚本type=" text/javascript祝辞 函数类(){={var选项 类型:“文章”, url:“$ {pageContext.request。contextPath}/user/fileUpload.do”, 数据:{ 文件名:“imgFile” }, 成功:函数(reData) { 警报(reData.reletivePath); $ (" # imgSrc ") .attr(“高度”,100); $ (" # imgSrc ") .attr(“宽度”,100); $ (" # imgSrc ") .attr (“src”, reData.fullPath); $ (" # reletivePath ") .val (reData.reletivePath); }, 数据类型:“json” }; $(" #调频”).ajaxSubmit(选项); } & lt;/script>
5。控制器
/* *文件上传 */@RequestMapping(类) 公共@ResponseBody Map<字符串,String>fileUpload (HttpServletRequest请求字符串文件名){ System.out.println (111);//1 .将普通请求转换为多部件请求 MultipartHttpServletRequest先生=(MultipartHttpServletRequest)请求;//2 .根据文件名获取文件对象 CommonsMultipartFile mf=(CommonsMultipartFile) mr.getFile(文件名);//3 .获取文件全名称 字符串originalFilename=mf.getOriginalFilename (); System.out.println(“文件全名称“+ originalFilename);//4 .获取后缀 字符串的后缀=originalFilename.substring (originalFilename.lastIndexOf (“。”); System.out.println(“后缀”+后缀);//5 .将文件对象转换为字节 byte [] fileBytes=mf.getBytes ();//6 .获取新的随机文件名 字符串newFileName=" "; SimpleDateFormat自卫队=new SimpleDateFormat (“yyyyMMddHHmmssSSS”); int num=(int) (math . random () * 899) + 100; newFileName=自卫队。新日期格式(())+ num; System.out.println(“新的随机文件名”+ newFileName);//开始上传//1 .创建jesy服务器 客户端=Client.create (); 字符串fullPath=" http://localhost: 8088/fileServiceProject/上传/? newFileName +后缀;//把文件关联到远程服务器 WebResource wr=client.resource (fullPath);//2 .相对路径 字符串reletivePath="/上传/" + newFileName +后缀;//3 .上传 wr.put(字符串。类,fileBytes); String> Map<字符串;地图=new HashMap<字符串,String> (); 地图。把(“fullPath”, fullPath); 地图。把(“reletivePath”, reletivePath); 返回地图; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。