springmvc 多文件上传 MultipartFile 怎么获取前台传过来的参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springmvc 多文件上传 MultipartFile 怎么获取前台传过来的参数相关的知识,希望对你有一定的参考价值。

参考技术A 用@ResponseBody
@RequestMapping(value = "/address", method = RequestMethod.POST)

@ResponseBody
public Map<String, Object> addressPOST()
Map<String, Object> map = new HashMap<>();
ReceivedGoodsAddress receivedgoodsaddress=new ReceivedGoodsAddress();
List<ReceivedGoodsAddress> list = addressService.findReceivedGoodsAddress(receivedgoodsaddress);
map.clear();
map.put("list", list);
return map;

//前台用jquery+ajax
$.ajax(
type:'POST',
url:'$contextPath/address',
dataType:'json',
success:function(data)
$.each(data.list,function(i,item)
alert(i);
alert(item.id);
alert(item.name);
);

);本回答被提问者采纳

多文件上传以及java后台接受

最近项目用到的,实现多文件以及一些信息上传,

以及后台接收及读取用到了springspringmvc相关框架。

不多说废话,直接上例子(这有关键代码)

 

首先,前台页面

<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();
      }
   }


本文出自 “枫叶还没红” 博客,请务必保留此出处http://itlearninger.blog.51cto.com/12572641/1913130

以上是关于springmvc 多文件上传 MultipartFile 怎么获取前台传过来的参数的主要内容,如果未能解决你的问题,请参考以下文章

springMVC实现多文件上传

springMVC实现 MultipartFile 多文件上传,StandardMultipartHttpServletRequest上传文件,在请求中上传文件,比如上传图片

解决springMVC文件上传报错: The current request is not a multipart request

SpringMVC文件上传

多文件上传以及java后台接受

多文件上传以及java后台接受