本实例所做功能为发送带附件邮件,可以上传多个附件,操作为选择一个附件以后自动上传,然后继续选择附件,填写完表单其他信息,点击保存发送带附件邮件。
HTML标签
<input id="fileUpload" type="file" name="file" data-show-preview="true" multiple/>
js初始化,设置全局文件名参数
var fileName = []; function initFileInput(id, url) { $("#" + id).fileinput({ language: 'zh', uploadAsync:false, uploadUrl:url, browseClass: "btn btn-secondary", textEncoding:"UTF-8", showUpload: false, showPreview :true, dropZoneEnabled: false, maxFileCount:5, fileActionSettings:{ showUpload: true }, enctype:'multipart/form-data', msgFilesTooMany: "选择上传的文件数量({n}) 超过允许的最大数值{m}!", }).on("filebatchselected", function(event, files) { $("#fileUpload").fileinput("upload"); }).on("filebatchuploadsuccess", function (event, data, previewId, index){ if(data.response.success == true) { fileName.push(data.response.fileName); }else{ alert("上传失败!"); } $("#fileUpload").fileinput("clear"); $("#fileUpload").fileinput("reset"); }).on('fileerror', function(event, data, msg) { alert(msg); }); }
java后台上传文件代码
@RequestMapping(value="/fileupload") @ResponseBody public Map<String, Object> fileUpload(HttpServletRequest request, HttpServletResponse response) { ResourceBundle bundle = PropertyResourceBundle.getBundle("application"); MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request; Map<String,MultipartFile> fileMap = multipartRequest.getFileMap(); String rootPath = bundle.getString("upLoadUrl"); String filePath = rootPath; Map<String, Object> map = new HashMap<>(); map = uploadFiles(filePath,fileMap); return map; }
实际上传操作,返回上传操作经过处理的文件名,保证服务器端文件名唯一
public Map<String, Object> uploadFiles(String savePath,Map<String,MultipartFile> fiLeMap){ Map<String, Object> map = new HashMap<>(); try { String fileName = ""; if(fiLeMap!=null){ for(Map.Entry<String, MultipartFile> entity:fiLeMap.entrySet()){ MultipartFile f = entity.getValue(); if(f != null && !f.isEmpty()){ String uuid = UUID.randomUUID().toString(); fileName = uuid + "#" + f.getOriginalFilename(); File newFile = new File(savePath + "/" + fileName); f.transferTo(newFile); } } } map.put("success", true); map.put("fileName", fileName); return map; }catch (Exception e) { map.put("success", false); return map; } }
ajax提交其他表单参数和所传附件文件名集合
$.ajax({ type: "POST", url: 所需要请求地址, dataType: "json", traditional:true, data: { service:$("#service").select2('val').replace("All",""), startTime:$("#start").val(), endTime:$("#end").val(), reason:$("#reason").val(), fileName:JSON.stringify(fileName), outterEmail:isOutterEmail, innerEmail:isInnerEmail, isSendEmail:isSendEmail, subService:$("#subService").select2('val'), runningStatus:$("#runningStatus").select2('val') }, success: function(data){ $("#loadingModal").modal("hide"); fileName.splice(0,fileName.length); alert(data.msg); if(data.success) { location.href = "revision"; } }, error:function(xhr) { $("#loadingModal").modal("hide"); alert("保存失败"); } });
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年11月27日
2024年11月27日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]