Grails多文件上传

build.gradle

  1. compile 'commons-io:commons-io:2.4'
  2. compile 'commons-fileupload:commons-fileupload:1.3.1'

方法:

  1. def demo() {
  2. println params
  3. def info = [result:false, msg: "上传失败"]
  4. if (request instanceof MultipartHttpServletRequest) {
  5. def fileMap = request.fileMap
  6. for (fileName in fileMap.keySet()) {
  7. def file = request.getFile(fileName)
  8. def saveFileName = file.getOriginalFilename()
  9. //获取项目的全路径
  10. String dirPath = request.getSession().getServletContext().getRealPath("/upload")
  11. File saveFile = new File(dirPath)
  12. if(!saveFile.exists()){
  13. saveFile.mkdirs()
  14. }
  15. if(file){
  16. //上传文件
  17. file.transferTo(new File(dirPath + File.separator + saveFileName))
  18. }
  19. }
  20. info.result = true
  21. info.msg = "上传成功"
  22. }
  23. render info as JSON;
  24. }

文件上传大小限制配置,配置在grails-app/conf/application.yml中

  1. ---
  2. grails:
  3. controllers:
  4. upload:
  5. maxFileSize: 2000000
  6. maxRequestSize: 2000000

也可以在grails-app/conf/application.groovy里面添加,没有application.groovy请自行新建

  1. grails.controllers.upload.maxFileSize=5000000
  2. grails.controllers.upload.maxRequestSize=5000000

注:在application.yml中可以有多个节点用3个英文短杠隔开”—-“(也就是3个减号,不是下划线)。每隔开之处算一个节点,配置文件上传限制大小建议单独写一个节点,直接copy以上配置粘贴到application.yml最后面即可。


0
1
0

添加评论

正在回复:
取消
0
0
1
0