play framework实现多文件上传
2015-10-10 09:29
281 查看
项目中需要实现多文件上传,遍网寻仙不可得,遂自研之,瞎猫碰个死耗子,找到一条捷径可行。
html代码
这里有两点,需要特别注意
form表单中的method必须是post
文件上传的必须要有name属性,随便起个名就可以,不需要和后台Controller类有任何呼应关系
java代码
这里也有两点要特别注意
方法中必须有参数,胡编乱造一个参数也得给它弄一个参数上去
request.args.get(“__UPLOADS“),这个方法里的参数必须是__UPLOADS,注意,这里是双下划线,多一个少一个变一个都不行!
以上提到需要注意的四点,必须严格执行,否则就会出现空指针错误。
亲测可用,如果有问题请留言。
html代码
<form id="edit-profile" method="post" enctype="multipart/form-data" action="/Blogs/saveFile"> <input type="file" multiple id="qfile" name="fileabc"> <button type="submit" class="btn btn-primary" >Save</button> </form>
这里有两点,需要特别注意
form表单中的method必须是post
文件上传的必须要有name属性,随便起个名就可以,不需要和后台Controller类有任何呼应关系
java代码
public static void saveFile(String abc) { // 保存图片 List<Upload> files = (List<Upload>) request.args.get("__UPLOADS"); for (Upload upload : files) { if (upload.getSize() > 0) { File f = upload.asFile(); String fileName = f.getName(); File storeFile = new File("./public/pictures/" + fileName); Files.copy(f, storeFile); } } }
这里也有两点要特别注意
方法中必须有参数,胡编乱造一个参数也得给它弄一个参数上去
request.args.get(“__UPLOADS“),这个方法里的参数必须是__UPLOADS,注意,这里是双下划线,多一个少一个变一个都不行!
以上提到需要注意的四点,必须严格执行,否则就会出现空指针错误。
亲测可用,如果有问题请留言。
相关文章推荐
- 解决play out of memory的问题
- c++ primer 第五版 笔记前言
- 那些年,我还在学习C# 学习笔记续
- 插件管理框架 for Delphi(一)
- Ruby 魔法 学习笔记之一
- sqlserver 数据库学习笔记
- 使用CSS框架布局的缺点和优点小结
- CSS学习笔记Padding 属性中参数的定义与使用
- prototype 1.5 & scriptaculous 1.6.1 学习笔记
- prototype 学习笔记整理
- Oracle学习笔记(六)
- 关于SQLServer2005的学习笔记 XML的处理
- Jquery 基础学习笔记
- ExtJs 学习笔记基础篇 Ext组件的使用第1/2页
- linux Shell学习笔记第五天
- Jquery 学习笔记(二)
- PHP入门学习笔记之一
- 列举PHP的Yii 2框架的开发优势
- 那些年,我还在学习C# 学习笔记
- Windows窗体的.Net框架绘图技术实现方法