使用bootstrap-fileinput的问题:上传时upload.parseRequest(request)得到的List为空
2017-03-23 20:40
465 查看
最近在做一个项目时,使用bootstrap-fileinput上传文件时遇到一个问题:
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
String uploadPath = basePath + "/upload";//设置下载目录
String tempPath = uploadPath +"/temp";//设置临时目录
File temp = new File(tempPath);
if(!temp.exists()){
temp.mkdirs();
}
factory.setRepository(temp);//设置临时缓冲目录
List<FileItem> list = upload.parseRequest(ServletActionContext.getRequest()); //解析request请求
for (FileItem fileItem : list) {
if (fileItem.isFormField()) {
if (fileItem.getFieldName().equals("resourceCategory")){
resourceCategory = fileItem.getString();
}
}else{
if(fileItem.getName()!=null && !"".equals(fileItem.getName())){
fileItemName = fileItem.getName();
size = fileItem.getSize();
file= new File(realPath);
if(!file.exists()){
file.mkdirs();
}
File dest = new File(file+"/"+fileItemName);
InputStream ins = fileItem.getInputStream();
OutputStream ous = new FileOutputStream(dest);
try {
byte[] buffer = new byte[1024];
int len = 0;
while ((len = ins.read(buffer)) > -1)
ous.write(buffer, 0, len);
}finally {
ous.close();
ins.close();
}
}
}
}出现list为空或者[],使用的框架是s2sh,访问形式是.action,在网上找了好长时间,都说解决不了,要换,但是研究了之后,终于解决了,具体解决办法如下:
1.新建MyRequestParser类,重写parse方法,里面内容为空
public class MyMultiPartRequest extends JakartaMultiPartRequest{
@Override
public void parse(HttpServletRequest servletRequest, String arg1) throws IOException {
}
}2、最后在struts2的配置文件下增加下面内容
<bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest"
name="myMultiPartRequest" class="com.MyMultiPartRequest"
scope="default" optional="true"/>
<constant name="struts.multipart.handler" value="myMultiPartRequest" />
配置完成后list就不为空了
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
String uploadPath = basePath + "/upload";//设置下载目录
String tempPath = uploadPath +"/temp";//设置临时目录
File temp = new File(tempPath);
if(!temp.exists()){
temp.mkdirs();
}
factory.setRepository(temp);//设置临时缓冲目录
List<FileItem> list = upload.parseRequest(ServletActionContext.getRequest()); //解析request请求
for (FileItem fileItem : list) {
if (fileItem.isFormField()) {
if (fileItem.getFieldName().equals("resourceCategory")){
resourceCategory = fileItem.getString();
}
}else{
if(fileItem.getName()!=null && !"".equals(fileItem.getName())){
fileItemName = fileItem.getName();
size = fileItem.getSize();
file= new File(realPath);
if(!file.exists()){
file.mkdirs();
}
File dest = new File(file+"/"+fileItemName);
InputStream ins = fileItem.getInputStream();
OutputStream ous = new FileOutputStream(dest);
try {
byte[] buffer = new byte[1024];
int len = 0;
while ((len = ins.read(buffer)) > -1)
ous.write(buffer, 0, len);
}finally {
ous.close();
ins.close();
}
}
}
}出现list为空或者[],使用的框架是s2sh,访问形式是.action,在网上找了好长时间,都说解决不了,要换,但是研究了之后,终于解决了,具体解决办法如下:
1.新建MyRequestParser类,重写parse方法,里面内容为空
public class MyMultiPartRequest extends JakartaMultiPartRequest{
@Override
public void parse(HttpServletRequest servletRequest, String arg1) throws IOException {
}
}2、最后在struts2的配置文件下增加下面内容
<bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest"
name="myMultiPartRequest" class="com.MyMultiPartRequest"
scope="default" optional="true"/>
<constant name="struts.multipart.handler" value="myMultiPartRequest" />
配置完成后list就不为空了
相关文章推荐
- 开发日志:struts2使用commons.fileupload上传附件,并解决upload.parseRequest(request)为空的问题
- sturts2和kindeditor的文件上传,upload.parseRequest(request)得到的List为空
- kindeditor上传文件在SpringMVC中servletFileUpload.parseRequest(request)解析为空获取不到数据问题 .
- 解决文件上传时upload.parseRequest(request)得到的List为空
- commons fileupload 文件上传乱码问题解决方案 + request.getParameter无法得到参数问题
- SpringMVC中servletFileUpload.parseRequest(request)解析为空获取不到数据问题
- 使用ajaxfileupload.js上传无法进回调问题终极解决
- 上传文件中使用ajaxfileupload.js碰到的问题
- SpringMVC中servletFileUpload.parseRequest(request)解析为空获取不到数据问题
- Bootstrap文件上传插件File Input的使用
- 后台使用Spring MVC 4.15 版本 通过 ajaxFileUpload plugin插件上传文件相应时引起的一个小问题,Chrome、Firefox中出现SyntaxError:unexpected token <
- 【Spring】Spring MVC文件上传--整合bootstrap-fileinput和jQuery-File-Upload
- Bootstrap文件上传插件File Input的使用
- servletFileUpload.parseRequest(request)解析为空获取不到数据问题
- bootstrap-fileinput 插件使用总结(最近做项目应用到了这个上传文件的插件,分享下不够完善请指出共同进步)
- Struts2上传文件报错Unable to parse request org.apache.commons.fileupload.FileUploadBase$IOFileUploadExcept
- ASP.NET同时上传多个文件,和不使用HTMLFileInput上传的方法(resource about file upload)
- commons fileupload 文件上传乱码问题解决方案 + request.getParameter无法得到参数问题
- SpringMVC中servletFileUpload.parseRequest(request)解析为空获取不到数据问题
- Bootstrap-fileinput插件使用教程 支持多文件上传