设为首页 加入收藏

TOP

多文件上传以及Java后台接受
2017-04-07 10:25:22 】 浏览:8496
Tags:文件 上传 以及 Java 后台 接受

最近项目用到的,实现多文件以及一些信息上传,以及后台接收及读取用到了spring及springmvc相关框架。
不多说废话,直接上例子(这有关键代码)
 
首先,前台页面
<form action="/uploader/upload/uploadFiles" method="post" enctype="multipart/form-data">
<input type="file"size="30" name="uploadify"multiple="true"
id="files" />
  <button id="uploadFiles">上传文件</button>
  <input type="hidden" id="username"name="username" /> 
<input type="hidden" id="directory" name="directory"/>
</form>


首先解释下action中的地址为我后台接受文件的地址,
因为上传文件,所以enctype="multipart/form-data"是必须的
同时选择多个文件上传,不使用各种控件的话,把multiple设置为"true"即可。
另外,上传文件input中的name属性很重要,后台获取文件会用到的。
 
下面上后台代码,username和directory可以在参数中直接获取
@RequestMapping(value = "/uploadFiles", method = RequestMethod.POST, consumes = "multipart/*")
  publicvoid uploadFilesFromHtml(
@RequestParam(defaultValue = "") String username,
@RequestParam(defaultValue = "") String directory,
MultipartHttpServletRequest request)
  throws FileUploadException,IOException {
      MultiValueMap<String,MultipartFile> map = request.getMultiFileMap();// 为了获取文件,这个类是必须的
      List<MultipartFile> list = map.get("uploadify");// 获取到文件的列表
      Stringpath= getFilePath(username,directory); //忽略掉,为文件最终上传的地址
      List<String>filenameList= newArrayList<>();//
      // 将图片进行存储
      for (MultipartFile mFile : list) {
        StringoriginalFileName= mFile.getOriginalFilename();//获取文件名称
        filenameList.add(originalFileName);
        byte[] bytes = mFile.getBytes();//获取字节数组
        StringfilePath= path+ File.separator+ originalFileName;
        FileOutputStreamfos= newFileOutputStream(newFile(filePath)); //写出到文件
        fos.write(bytes);
        fos.flush();
        fos.close();
      }
  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇TCP协议设计原理 下一篇Spring MVC---数据绑定和表单标签

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目