CommonsFileUpload
包可以很容易地为您的 servlet 和 Web 应用程序添加强大的、高性能的文件上传功能。
FileUpload 解析符合 RFC 1867,“HTML 中基于表单的文件上传”的 HTTP 请求。也就是说,如果使用 POST 方法提交 HTTP 请求,并且内容类型为“multipart/form-data”,则 FileUpload 可以解析该请求,并以调用者易于使用的方式提供结果,提到在这里。
查看此
链接可以为您提供更多帮助。
既然你说——
“我还需要能够随文件一起发送字符串(文件 ID)”
您将不得不解析 Http 请求并检查它是否FileItem
是一个表单字段(字符串/文本 - 在您的情况下是文件 ID)并相应地处理它。
这是多部分内容请求的示例代码 -
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
FileItemFactory factory = new DiskFileItemFactory();
FileItem item=null;
ServletFileUpload servletFileUpload = new ServletFileUpload(factory);
servletFileUpload.setSizeMax(-1);
List items =null;
if (isMultipart) {
try
{
items = servletFileUpload.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()) {
item = (FileItem) iter.next();
if (item.isFormField())
{
//get your file Id from element to match with item.getFieldName() and do whatever you want
}
else if ( !item.isFormField() ){
//save your file here
}
希望对您有所帮助。