这篇文章主要为大家详细介绍了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 || '认证失败')
});
}
}
});
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程学习网。
沃梦达教程
本文标题为:Java实现文件上传保存
基础教程推荐
猜你喜欢
- java实现多人聊天系统 2023-05-19
- Java实现查找文件和替换文件内容 2023-04-06
- Java并发编程进阶之线程控制篇 2023-03-07
- Java文件管理操作的知识点整理 2023-05-19
- java基础知识之FileInputStream流的使用 2023-08-11
- Java实现线程插队的示例代码 2022-09-03
- Java数据结构之对象比较详解 2023-03-07
- ConditionalOnProperty配置swagger不生效问题及解决 2023-01-02
- springboot自定义starter方法及注解实例 2023-03-31
- JDK数组阻塞队列源码深入分析总结 2023-04-18