博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用ajax提交带文件上传的form表单
阅读量:5101 次
发布时间:2019-06-13

本文共 3391 字,大约阅读时间需要 11 分钟。

过了三天才想要写博客,这样不好,要改正

在做毕设的时候,用户发帖涉及到了文件上传的问题,在这里记录一下

背景:

在用户发帖的时候,用户只想发表文字postText,还有些用户想在发表postText的同时还发表一些图片,如何做?

上代码

不写的太细了,和流水账似的,挑重点记录一下。

1.前台的文件上传

本来想用form表单直接上传了,但是form提交时会刷新整个页面,但这不是我想要的,所以使用了ajax提交form表单。

利用ajax提交表单需要用到jquery.form.js这个包,网上有很多这个包的介绍

先看一下form表单的部分,很简单,只是单纯地记录一下。

1 
2
3
6
7
8
9
10
11
14
15
16
17
18
19
22
23
24
25
26
27
30
31
32
33
34
35
36
37
38
40
41
42

重点来了,重点,重点,重点(重要的事情说三遍!)

ajax提交带文件上传的form表单

1  2  3 

2.后台部分利用两个controller方法接收ajax提交的form

1 @RequestMapping("/sendPostFile") 2     public String sendPostFile(HttpSession session,HttpServletRequest req,String menuName,String postName,String postText,@RequestParam(value="file",required = false) MultipartFile file) throws IllegalStateException, IOException{ 3         //获取userId和userName 4         User user = (User)session.getAttribute("userSession"); 5         int userId = user.getUserId(); 6         String userName = user.getUserName(); 7         //传入表单中的menuName查出对应的menuId 8         Menu menu = sendPostService.selectMenuId(menuName); 9         int menuId = menu.getMenuId();10         //调用sendPostService的sendPost方法将帖子信息存入到数据库中11         int postId = sendPostService.sendPost(postName, menuId, userId, userName, postText);12         13         if(file != null ){14             //文件上传部分15             //照片名字16             String picFileName = StringUtils.newUUID();17             //上传地址18             String path =req.getRealPath("/assets/images/fileupload");19             File picFile = new File(path,picFileName);20             //先新建一个空白文件21             picFile.createNewFile();22             //保存文件23             file.transferTo(picFile);24             sendPostService.insertPicture(picFileName, userId, userName, postId);25         }26         return TIEZI;27     }28     @RequestMapping("/sendPostText")29     public String sendPostText(HttpSession session,HttpServletRequest req,String menuName,String postName,String postText) throws IllegalStateException,    IOException{30         return sendPostFile(session, req, menuName, postName, postText, null);31     }

利用ajax提交带文件上传的form表单就这些了。

好好学习,天天向上!

转载于:https://www.cnblogs.com/rendachang/p/6993144.html

你可能感兴趣的文章
centos编译内核:no space left on device 解
查看>>
LeetCode-Reverse Words in a String
查看>>
网络直播电视之M3U8解析篇 (下)
查看>>
Codeforces 327B-Hungry Sequence(素数筛)
查看>>
HDU 1030 Delta-wave 数学题解
查看>>
2012年终总结
查看>>
oracle中schema指的是什么?
查看>>
JAVA反射机制
查看>>
第十一章:函数的参数类型
查看>>
元素选择器
查看>>
详解Javascript的继承实现
查看>>
6、0-1背包问题优化
查看>>
VScode中运行python程序,使用Code Runner插件
查看>>
高数概念泛论
查看>>
MySQL 权限管理
查看>>
php错误等级
查看>>
HDU 4763 Theme Section ( KMP next函数应用 )
查看>>
Elasticsearch深入6
查看>>
《面向对象程序设计》课程作业六
查看>>
【python】-集合操作
查看>>