共计 1230 个字符,预计需要花费 4 分钟才能阅读完成。
要实现 Java 多文件上传,可以使用以下步骤:
-
在前端页面中,使用 HTML 的
<input type="file" multiple>
来添加多个文件选择框,并设置multiple
属性允许选择多个文件。 -
在后端 Java 代码中,接收前端传递的文件数据。可以使用
javax.servlet.http.Part
对象来接收文件数据。通过request.getParts()
方法获取所有上传的文件部分,并遍历每个部分进行处理。 -
遍历每个
Part
对象,获取文件名和文件数据。可以使用Part.getSubmittedFileName()
获得文件名,使用Part.getInputStream()
获得文件数据流。 -
将文件数据保存到指定的目录中。可以使用
java.nio.file.Files.copy()
方法将文件数据流复制到目标文件夹中。
以下是一个简单的示例代码:
@WebServlet("/upload")
@MultipartConfig
public class UploadServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Collection<Part> parts = request.getParts();
for (Part part : parts) {String fileName = getFileName(part);
InputStream fileContent = part.getInputStream();
saveFile(fileName, fileContent);
}
}
private String getFileName(Part part) {String contentDisposition = part.getHeader("content-disposition");
String[] tokens = contentDisposition.split(";");
for (String token : tokens) {if (token.trim().startsWith("filename")) {return token.substring(token.indexOf("=") + 2, token.length() - 1);
}
}
return "";
}
private void saveFile(String fileName, InputStream fileContent) throws IOException {Files.copy(fileContent, Paths.get("/path/to/save/" + fileName));
}
}
注意:上述示例代码只是一个简单的示例,可能还需要添加一些错误处理和安全性验证的部分。另外,确保指定的保存路径存在并且具备写入权限。
丸趣 TV 网 – 提供最优质的资源集合!
正文完