用layui.upload.render()和ssh框架实现单次上传多个文件,后端org.apache.struts.actions怎么接收前端传来的文件?请写出代码
时间: 2023-06-14 22:03:23 浏览: 97
前端代码:
```
layui.use(['upload', 'layer'], function(){
var upload = layui.upload;
var layer = layui.layer;
upload.render({
elem: '#test',
url: '/upload/',
multiple: true,
done: function(res){
console.log(res);
layer.msg('上传成功');
},
error: function(){
layer.msg('上传失败');
}
});
});
```
后端代码:
```
public class UploadAction extends org.apache.struts.action.Action {
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
// 获取上传的文件列表
List<FileItem> fileItemList = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
// 遍历文件列表
for (FileItem fileItem : fileItemList) {
// 如果是文件类型
if (!fileItem.isFormField()) {
// 获取文件名
String fileName = fileItem.getName();
// 获取文件内容
InputStream inputStream = fileItem.getInputStream();
// 处理文件内容
// ...
}
}
// 返回结果
response.setContentType("application/json");
response.getWriter().write("{\"code\":0,\"msg\":\"上传成功\"}");
response.getWriter().close();
return null;
}
}
```
其中,`UploadAction` 继承自 `org.apache.struts.action.Action`,用于处理上传请求。在 `execute` 方法中,我们首先获取上传的文件列表,然后遍历文件列表,逐个处理文件内容。最后,我们返回一个 JSON 格式的上传结果。
阅读全文