java - 用一个文件模拟多个文件上传

标签 java servlets httpclient

大家好,我有一个使用 Jakarta HttpClient 将文件上传到 Web 服务器的示例代码。 我想要的是模拟同一文件的多个文件上传,每次上传的名称不同。 这可能吗?有什么提示吗?

A.K.

最佳答案

只需添加具有相同文件内容但不同部分和文件名的不同多部分部分。与InputStreamBody您可以为每个部分指定不同的文件名。例如

MultipartEntity entity = new MultipartEntity();
entity.addPart("file1", new InputStreamBody(new FileInputStream(file), "name1.ext"));
entity.addPart("file2", new InputStreamBody(new FileInputStream(file), "name2.ext"));
entity.addPart("file3", new InputStreamBody(new FileInputStream(file), "name3.ext"));
// ...

在 Servlet 代码中,假设您使用 Commons FileUpload ,您可以在 for 循环中借助 FileUpload API 迭代从请求中提取的多部分项目。

List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
for (FileItem item : items) {
    if (item.isFormField()) {
        // Process regular field.
    } else {
        // Process uploaded file.
    }
}

关于java - 用一个文件模拟多个文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3906003/

相关文章:

java - InputSampler<K,V>中的<K,V>有哪些类型?

java - int 对象到整数转换的问题

java - 在所有 Web 应用程序中实现 Tomcat 服务器范围持久性和可变变量的方法

c# - 获取错误 : unsupported_grant_type using httpclient to post formdata in asp. 网络控制台应用程序

java - 从 BufferedReader 获取 403

c# - 为什么这个 HttpClient 用法给我一个 "Cannot access a disposed object."错误?

java - Android 连接到 MJPEG 流 - 权限被拒绝错误

java - 如何从嵌套的 Jar 中提取 .class 文件?

java - 从过滤器修改 servlet 的 errorPage 的 HTML

java - Maven是否应该为不同的应用服务器打包不同的WAR?