大家好,我有一个使用 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/