SpringMVC使用第三方组件实现文件上传
一、文件上传的必要前提
Aform表单的enctype取值必须是:multipart/form-data
(默认值是:application/x-www-form-urlencoded)enctype:是表单请求正文的类型
Bmethod属性取值必须是Post
C提供一个文件选择域inputtype=file
二、借助第三方组件实现文件上传
三、
/**
*springmvc跨服务器上传文件
*@return
*/
@RequestMapping("/testFileUpload1")
publicStringtestFileUpload1(MultipartFileupload)throwsIOException{
System.out.println("跨服务器文件上传...");
//定义上传文件服务器路径
Stringpath="http://localhost:9090/uploads/";
//说明上传文件项
//获取上传文件的名称
Stringfilename=upload.getOriginalFilename();
//把文件的名称设置唯一值,uuid
Stringuuid=UUID.randomUUID().toString().replace("-","");
filename=uuid+"_"+filename;
//创建客户端的对象
Clientclient=Client.create();
//和图片服务器进行连接
WebResourcewebResource=client.resource(path+filename);
//上传文件
webResource.put(upload.getBytes());
return"success";
}
/**
*
*这里的upload必须与index.jsp的upload一致
*
*springmvc文件上传
*@return
*/
@RequestMapping("/testFileUpload")
publicStringtestFileUpload(HttpServletRequestrequest,MultipartFileupload)throwsIOException{
//使用fileupload组件完成文件上传
//上传的位置(获取上传到服务器上的文件路径)
Stringpath=request.getSession().getServletContext().getRealPath("/uploads/");
//判断,该路径是否存在
Filefile=newFile(path);
if(!file.exists()){
file.mkdir();
}
//说明上传文件项
//获取上传文件的名称
Stringfilename=upload.getOriginalFilename();
//把文件的名称设置唯一值,uuid
Stringuuid=UUID.randomUUID().toString().replace("-","");
filename=uuid+"_"+filename;
//完成文件上传
upload.transferTo(newFile(path,filename));
return"success";
}
四、在springmvc.xml配置文件解析器
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。