上传文件功能笔记
来源:互联网 发布:oracle 数据块大小 编辑:程序博客网 时间:2024/06/16 23:34
用js异步提交json数据的方式写一个上传文件的功能
HTML代码<div class="form-group"><label class="col-md-2 control-label">上传文件:</label><div class="col-md-8"><input type="file" onchange="getFile(this)"></div>
js代码 function getFile(thisObj) { //获取文件详细内容(路径等) var file = thisObj.files[0]; var fileName = file.name; //查询文件名的后缀 var suffixName = fileName.substring(fileName.lastIndexOf(".")+1); //判断文件格式是否满足要求 if (suffixName.toLowerCase() !='apk'){ alert.msg("上传文件格式不正确!"); return; } //loading层 var index = layer.load(1, { shade: [0.1,'#fff'] //0.1透明度的白色背景 }); var formData = new FormData(); formData .append("file", file); $.ajax({ url: './importFile' , type: 'POST', data: formData, cache: false, contentType: false, processData: false, success: function (data) { alert("上传保存成功") $("#updateUrl").val(data.path); }, error: function (data) { console.log(data); alert("上传文件失败") } }); //手动关闭loading层 layer.close(index); }
controller层方法/** * * @param multipartfile * @return * @throws IOException */ @RequestMapping(value = "/importFile") @ResponseBody public Object idIdentification(@RequestParam("file") MultipartFile multipartfile) throws IOException { Map<String,Object> map = new HashMap(); //返回文件路径(saveAttachment为封装过后的方法调用) String filePath = FileUtil.saveAttachment(multipartfile); //将路径放入map中 map.put("path",filePath); return map; }
saveAttachment封装的方法/** * 文件存储 完整路径({user.home}/pfxm/attach/XXX.XX)<== http://domain/attach/file/XXX.xx * @param file * @return 返回相对路径(attach/file/xxx.xx) */ public static String saveAttachment(MultipartFile file) { String path = Constant.UPLOAD_PATH + Constant.ATTACHMENT_FILE_NAME; String saveName = System.currentTimeMillis() + "." + getFileSuffix(file.getOriginalFilename(), Constant.TYPE_FILE_SUFFIX); logger.debug(" --- 文件保存路径:{}, 文件保存名称:{} --- ", path, saveName); // 保存 try { // 保存文件 File targetFile = new File(path); if (!targetFile.exists()) { targetFile.mkdirs(); } file.transferTo(new File(path + "/" + saveName)); } catch (Exception e) { e.printStackTrace(); logger.debug(" --- 文件保存异常:{} --- " + e.getMessage()); return null; } return Constant.VIRTUAL_ATTACHMENT_FILE_PATH + "/" + saveName; }
本人项目笔记,如若看不懂还请查询其他资料
阅读全文
0 0
- 上传文件功能笔记
- retrofit2.0 使用笔记-文件上传功能
- 多文件上传功能
- JSF文件上传功能
- 文件上传功能
- C#文件上传功能
- php文件上传功能
- 文件上传功能JQuery
- j2ee 文件上传功能
- 上传文件功能
- Flex上传文件功能
- excel文件上传功能
- struts2文件上传功能
- 上传文件功能
- sturts2文件上传功能
- 文件上传功能
- uploadify上传文件功能
- php文件上传功能
- 中文分词原理及实践
- @ResponseBody注解的使用
- 央行官员:比特币不是未来,法定数字货币才是正统
- 美团会成为又一个乐视吗?
- 移植QT5.6到嵌入式开发板(史上最详细的QT移植教程)
- 上传文件功能笔记
- 为什么Button,ImageButton有焦点,textview,imageview没有焦点
- 网络攻击技术开篇——SQL Injection
- xcode各班本下载地址
- iOS画虚线------
- Linux学习:Linux内核编译
- ubuntu nsq安装与配置
- USB WIFI移植
- UGUI点击按钮穿透、UI跟随摄像机旋转