本实例所做功能为发送带附件邮件,可以上传多个附件,操作为选择一个附件以后自动上传,然后继续选择附件,填写完表单其他信息,点击保存发送带附件邮件。
<强> HTML标签强>
& lt;输入id="类" type="文件" name="文件" data-show-preview=" true "多个/祝辞
js初始化,设置全局文件名参数
var文件名=[]; 函数initFileInput (id、url) { $ (" # " + id) .fileinput ({ 语言:“zh型”, uploadAsync:假的, uploadUrl: url、 browseClass:“btn btn-secondary”, textEncoding:“utf - 8”, showUpload:假的, showPreview:没错, dropZoneEnabled:假的, maxFileCount: 5 fileActionSettings: { showUpload:真 }, enctype:“多部分/格式”, msgFilesTooMany:“选择上传的文件数量({n})超过允许的最大数值{m} !”, })。(“filebatchselected函数(事件,文件){ $ (" # fileUpload ") .fileinput(“上传”); })。(“filebatchuploadsuccess函数(事件、数据previewId指数){ 如果(data.response。成功==true) { fileName.push (data.response.fileName); 其他}{ alert("上传失败!”); } $ (" # fileUpload ") .fileinput(“清晰”); $ (" # fileUpload ") .fileinput(“重置”); })。(“fileerror”,函数(事件、数据、味精){ 警报(味精); }); }
java后台上传文件代码
@RequestMapping (value=" https://www.yisu.com/fileupload ") @ResponseBody 公共Map<字符串,Object>fileUpload (HttpServletRequest请求,HttpServletResponse响应){ ResourceBundle包=PropertyResourceBundle.getBundle(“应用程序”); MultipartHttpServletRequest multipartRequest=(MultipartHttpServletRequest)请求; MultipartFile> Map<字符串;fileMap=multipartRequest.getFileMap (); 字符串rootPath=bundle.getString (“upLoadUrl”); 字符串filePath=rootPath; Object> Map<字符串;地图=new HashMap<在(); 地图=还是(filePath fileMap); 返回地图; }
实际上传操作,返回上传操作经过处理的文件名,保证服务器端文件名唯一
公共Map<字符串,Object>还是(String savePath Map<字符串,MultipartFile>fiLeMap) { Object> Map<字符串;地图=new HashMap<在(); 尝试{ 字符串文件名=" "; 如果(fiLeMap !=null) { (Map.Entry<字符串,MultipartFile>实体:fiLeMap.entrySet ()) { MultipartFile f=entity.getValue (); 如果(f !=零,,! f.isEmpty ()) { .toString字符串uuid=UUID.randomUUID () (); 文件名=uuid +“#”+ f.getOriginalFilename (); 文件newFile中=新文件(savePath + " +文件名); f.transferTo (newFile中); } } } 地图。把(“成功”,真正的); 地图。把(“文件名”,文件名); 返回地图; }捕捉(异常e) { 地图。put(“成功”,假); 返回地图; } }
ajax提交其他表单参数和所传附件文件名集合
. ajax({美元 类型:“文章”, url:所需要请求地址, 数据类型:“json”, 传统:没错, 数据:{ 服务:$(" #服务”).select2 (val) .replace(“所有”、“), 开始时间:$ (“#”).val (), endTime: $(" #结束”).val (), 原因:$(" #原因”).val (), 文件名:JSON.stringify(文件名) outterEmail: isOutterEmail, innerEmail: isInnerEmail, isSendEmail: isSendEmail, subService: $ (" # subService”) .select2 (“val”), runningStatus: $ (" # runningStatus”) .select2 (“val”) }, 成功:功能(数据){ $ (" # loadingModal ") .modal(“隐藏”); fileName.splice (0, fileName.length); 警报(data.msg); 如果(data.success) { 的位置。href=" https://www.yisu.com/zixun/revision "; } }, 错误:函数(xhr) { $ (" # loadingModal ") .modal(“隐藏”); alert("保存失败”); } }); >之前以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
引导Fileinput 4.4.7文件上传实例详解