The Commons FileUpload
包使您可以轻松地为servlet和Web应用程序添加强大的高性能文件上载功能。
FileUpload解析符合RFC 1867“基于表单的HTML文件上传”的HTTP请求。也就是说,如果HTTP请求是使用POST方法提交的,并且内容类型为“multipart/form-data”,则FileUpload可以解析该请求,并以调用方容易使用的方式提供结果here。
请参阅this 链接可以帮助您更多。
既然你说 -
“我也需要能够与 文件一起发送一个字符串(文件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
}
希望帮助你。
看看http://stackoverflow.com/questions/2422468/how-to-upload-files-to-server-using- jsp-servlet – Grim 2013-03-20 19:11:39
这是通过网页中的表单完成的。我没有任何形式或类似的东西。 – 2013-03-20 19:15:56
你需要客户端,服务器端还是两者? – Moesio 2013-03-20 19:22:20