Java实现文件上传保存
本文实例为大家分享了Java实现文件上传保存的具体代码,供大家参考,具体内容如下
框架
Spring Boot + FreeMarker + Ajax
第一次尝试Spring Boot 和FreeMarker, Spring Boot最大的感受是真的方便,约定大于配置,很多东西都是在使用过程中了解,看Spring Boot实战基本看完就忘得差不多…
后台
1. 从request获取到文件
MultipartFile类保存文件信息,文件上传放在request中,可debug查看request中实体观察到。
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; List<MultipartFile> files = multipartRequest.getFiles("img");
强制转换request获取MultipartHttpServletRequest,再获得MultipartFile文件
2. 写入上传文件夹
path在application.properties中定义,使用@Value标签注入。
/** * 保存图像 * * @param img * @param userName * @return */ private String writeImgToUpload(MultipartFile img, String userName) { // Tomcat 放在C盘中,可能无读写权限而写入失败 // 写入目录文件 // 获取文件格式 String suffix = img.getOriginalFilename().substring(img.getOriginalFilename().lastIndexOf(".")); // 目标文件路径+文件名 String imgFile = path + userName + suffix; File toFile = new File(imgFile); if (!toFile.getParentFile().exists()) { // when file is not existed, will create. toFile.mkdirs(); } // write to target file. try { img.transferTo(toFile); return imgFile; } catch (IOException e) { e.printStackTrace(); } return null; }
前端
<form class="form-horizontal" id="authForm" method="post" enctype="multipart/form-data"> <div class="form-group"> <div class="col-sm-6"> <b><label for="img">上传认证</label></b> <input type="file" id="img" name="img"> </div> </div> <div class="row"> <div class="col-xs-4"> <button type="submit" class="btn btn-primary btn-block btn-flat">注册</button> </div> </div> </form>
Ajax通信
submitHandler : function(form) { var file = new FormData(); var img = $('#img')[0].files[0]; file.append('img', img); $.ajax({ url:base_url + "/auth/update", type: "POST", data: file, async: false, cache: false, contentType: false, processData: false, success: function (data) { // 成功的回调 if (data.code == 200) { layer.msg('认证成功'); setTimeout(function () { window.location.href = base_url; }, 500); } else { layer.open({ icon: '2', content: (data.msg || '认证失败') }); } } });
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
SpringBoot使用责任链模式优化业务逻辑中的if-else代码
在开发过程中,我们经常会遇到需要根据不同的条件执行不同的逻辑的情况,我们可以考虑使用责任链模式来优化代码结构,使得代码更加清晰、可扩展和易于维护2023-06-06Java实现将word转换为html的方法示例【doc与docx格式】
这篇文章主要介绍了Java实现将word转换为html的方法,结合实例形式分析了java针对doc与docx格式文件的相关转换操作技巧,需要的朋友可以参考下2019-03-03Java Swing JComboBox下拉列表框的示例代码
这篇文章主要介绍了Java Swing JComboBox下拉列表框的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-12-12
最新评论