fileupload实现多文件批量上传

前提条件:
需要如下架包:下面是maven的配置信息
<!--文件上传依赖架包-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
1,前端界面:
  <form id="batchUploadRiskFileForm" action="" method="post"
  enctype="multipart/form-data">
  <label for="content">规则文件:</label>
  <input type="file" name="updateFiles" multiple="">
  </form>
2.js文件:这里发送的是AJAX请求
/**
 * 批量修改函数
 */
function batchUpdateRiskRule(){

var formData = new FormData($("#batchUpdateRiskRuleForm")[0]);
$.ajax({
url : '../riskRule/batchUpdateRiskRule.htm',
type : 'POST',
dataType : 'json', // 接受数据格式
data : formData,
async : false,
cache : false,
contentType : false,
processData : false,
success : function(data) {
if (data.status >= 0) {
window.location.href = window.location.href;
} else {
alert(data.message);
}
},
error : function(data) {
alert(data);
}
});
3.后台接收:
@ResponseBody
@RequestMapping("/batchUpdateRiskRule")
public String batchUpdateRiskRule(@RequestParam("updateFiles") MultipartFile[] updateFiles, HttpServletRequest request)
throws IOException
{
其中updateFiles是上传的文件组内容
具体结果如下:
}
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
你可以使用 Java 的 Apache Commons FileUpload 库来实现文件批量上传。以下是一个简单的示例: 1. 在 HTML 中添加上传文件表单: ``` <form method="post" enctype="multipart/form-data"> <input type="file" name="file" multiple> <input type="submit" value="上传"> </form> ``` 2. 在 Java 中处理上传请求: ``` import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.util.List; public class UploadServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 创建文件上传工厂 DiskFileItemFactory factory = new DiskFileItemFactory(); // 设置临时文件夹 String tmpPath = System.getProperty("java.io.tmpdir"); factory.setRepository(new File(tmpPath)); // 创建上传处理器 ServletFileUpload uploader = new ServletFileUpload(factory); // 处理上传请求 try { List<FileItem> items = uploader.parseRequest(request); for (FileItem item : items) { if (!item.isFormField()) { // 保存上传文件 String fileName = item.getName(); File file = new File("/path/to/upload/" + fileName); item.write(file); } } response.getWriter().write("上传成功!"); } catch (Exception e) { e.printStackTrace(); response.getWriter().write("上传失败:" + e.getMessage()); } } } ``` 在这个例子中,我们使用 DiskFileItemFactory 来设置临时文件夹,然后使用 ServletFileUpload 处理上传请求。对于每个上传的文件项,我们使用 FileItem.getName() 获取文件名,并使用 FileItem.write() 将文件保存到指定的目录中。最后,我们通过 HttpServletResponse.getWriter() 将结果返回给客户端。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值