SpringMVC前台利用ajax和FormData上传文件
来源:互联网 发布:淘宝 下载 编辑:程序博客网 时间:2024/05/21 21:35
前台的页面结构及js逻辑
1、 html结构:
<%--此处必须是multipart/form-data--%><form method="post" enctype="multipart/form-data" id="upload"> <input type="file" name="file" class="uploadfile" id="file"> <p><input type="button" value="上传" class="addbtn"></p></form>
2、ajax内容(此处运用jquery):
$(".addbtn").click(function () { //获取input:type='file'选中文件的内容 var file = $("#file")[0].files[0]; if ($("#file").val() == "") { alert("请选择上传文件"); } else { var formData = new FormData(); //此处将所要传递的数据append到formData中 formData.append("fileinfo", file); $.ajax({ url: "/uploadFile", type: "POST", data: formData, processData: false, //必不可缺 contentType: false, //必不可缺 success: function (e) { alert("文件上传成功"); $("#file").val() == ""; } }) } });
后台的页面结构及js逻辑
1、pom.xml中的配置(在maven中下载所需要的包)
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version></dependency><dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.0</version> <scope>provided</scope></dependency>
2、SpringMVC的Controller中的内容
// 上传文件 @ResponseBody @RequestMapping(value = "/uploadFile", method = RequestMethod.POST) public void uploadFile(@RequestParam(value = "fileinfo", required = false) MultipartFile file, HttpServletRequest request, HttpServletResponse response) { //上传文件的路径 String path = FileTools.getFileInfo(request, response, file); }
3、工具类里面的内容
// 自定义上传文件存储目录 private static final String UPLOAD_DIRECTORY = "upload"; //MultipartFile上传文件 public static String getFileInfo(HttpServletRequest request, HttpServletResponse response, MultipartFile file) { String filePath = new String(); String uploadPath = request.getSession().getServletContext().getRealPath("./") + UPLOAD_DIRECTORY; // 如果目录不存在则创建 File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdir(); } //判断文件是否为空 if (!file.isEmpty()) { try { //文件的保存路径 filePath = request.getSession().getServletContext().getRealPath("/") + UPLOAD_DIRECTORY + File.separator + file.getOriginalFilename(); //转存文件 file.transferTo(new File(filePath)); } catch (Exception e) { e.printStackTrace(); } } return filePath; }//函数结束符
此文章仅限自己的笔记而已,其中有些术语可能不太准确,只供参考,如有问题欢迎赐教!
阅读全文
1 0
- SpringMVC前台利用ajax和FormData上传文件
- 利用js/jq 利用FormData 对象和ajax上传文件
- ajax FormData上传文件和数据
- 使用html+ajax+formdata+SpringMVC实现单个文件,和多个文件上传功能
- 使用html+ajax+formdata+SpringMVC实现单个文件,和多个文件上传功能
- Ajax利用FormData提交文件和数据
- FormData+AJAX+SpringMVC跨域异步上传文件
- (H5)FormData+AJAX+SpringMVC跨域异步上传文件
- Node和express中利用Jquery的$.ajax和HTML5的FormData完成文件上传示例
- 利用html5的FormData对象和ajax实现异步文件上传
- 利用html5的FormData对象和ajax实现异步文件上传
- 利用FormData,进行Ajax请求并上传文件
- 利用Ajax FormData实现无刷新带进度条文件上传
- ajax 利用formdata对象 实现多文件上传
- FormData通过ajax上传文件
- FormData--JQuery使用FormData利用Ajax实现多图片、文件上传
- 利用ajax与springmvc传送formdata实现图片的无刷新上传
- SpringMVC和ajax文件上传
- java中instanceof用法
- html开发笔记导航栏样式
- javascript中使用迭代操作数组替代for循环(map,filter,some,every,reduce,find )
- CPP
- 关于Scrollview嵌套listview数据显示不全,上拉加载没效果问题
- SpringMVC前台利用ajax和FormData上传文件
- Linux——apache
- rc.local 启动 tomcat步骤
- Markdown 你真的懂了吗
- 基于C#的Socket编程的TCP异步实现
- 根据四个方面进行评估集成策略在未来是否可行
- 唯快不破:TCP/IP详解--如何处理TIME_WAIT状态
- Junit4在开发JavaWeb当中的应用
- 如何在office2016(word2016)中安装mathtype6.9及相关问题解决方案