SSH使用Spring中MultipartHttpServletRequest实现文件上传

HttpServletRequest request = ServletActionContext.getRequest();
String UserStr = HttpServletRequestUtil.getString(request,"Userstr");
System.out.println("UserStr:"+UserStr);
MultipartHttpServletRequest multipartRequest = null;
MultipartFile profileImg = null;
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
System.out.println("multipartResolver.isMultipart(request):"+multipartResolver.isMultipart(request));
if (multipartResolver.isMultipart(request)) {
multipartRequest = multipartResolver.resolveMultipart(request);
profileImg = (MultipartFile) multipartRequest.getFile("fileupload");
}

HttpServletRequest request = ServletActionContext.getRequest();
String UserStr = HttpServletRequestUtil.getString(request,"Userstr");
System.out.println("UserStr:"+UserStr);
MultipartHttpServletRequest multipartRequest = null;
MultipartFile profileImg = null;
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
System.out.println("multipartResolver.isMultipart(request):"+multipartResolver.
问题:
multipartRequest.getFile("fileupload")为null
有时form表单中的Userstr也为null

5个回答

实现文件上传,需要3个条件,form表单中要post请求, enctype="multipart/form-data",input中type="file"

你的可以上传1M以下的,这个应该不对吧 默认是能上传2M以下的,而且你也可以修改这个默认文件的大小

文件上传from表单必须在from里面设置enctype="multipart/form-data“,楼主看下你是不是少写了

daba245
daba245 写了<form id="contextInfoFormAdd" method="post" enctype="multipart/form-data">
2 年多之前 回复

以前做过这个,可以参考我记录的:https://www.suancaiyu.xyz/read/2463.html

如果验证过楼上几位的情况还存在问题,楼主检查前端input标签name属性值与后端取文件的参数名是否一致

捏可以加上自己的对空处理的逻辑,代码并不存在绝对安全性,

daba245
daba245 if (multipartResolver.isMultipart(request)) is true,已经能判断request已经有文件上传了,就是getFile获取不到
2 年多之前 回复
daba245
daba245 //判断 request 是否有文件上传
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐