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