springmvc文件上傳真頭疼,網上搜了半天沒發現都是TMD的用submit按鈕提交到後臺的,就沒有插件的嗎? html
剛開始找到個ajaxfileUpload.還能夠,單文件上傳不錯 ,怎麼搞的網上百度一下不少. java
最後發現了fineUploader 應該是ajaxfileUpload的 升級版 吧? git
示例以下: github
jsp中: ajax
$(document).ready(function(){ var thumbnailuploader = new qq.FineUploader({ element: $('#addyoujianfujian')[0], request: { endpoint: '${ytu}/integrate/testManger/uploadFileForIE?folder=<%=folder%>&' }, multiple: false, validation: { allowedExtensions: ['jpeg', 'jpg', 'gif', 'png','xls','doc','xlsx','docx','pdf','txt'], sizeLimit: 40960000 // 50 kB = 50 * 1024 bytes16. }, callbacks: { onComplete: function(id, fileName, responseJSON) { if (responseJSON.success) { $("#addyoujianfujian").append(fileName+";"); } } }, debug: true }); });
Fine Uploader 官網:http://fineuploader.com/index.html spring
java:看這裏:https://github.com/Widen/fine-uploader/tree/master/test/fineuploader. mvc
這個地址之後可能還會變更,你們本身在網上百度吧。 app
可是 我使用的是springMVC的controller,獲取不到servercontext. jsp
最後在同事的幫助下單獨爲IE寫了個上傳的方法.代碼 以下 : ide
/** * * 方法描述: 上傳文件 做 者: chalist 日 期: 2012-11-22-下午04:45:34 * * @param myfiles * @return * @throws IOException * 返回類型: String[] */ public void uploadattachment(String folder, HttpServletRequest request) throws IOException { try { MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest)request; List<MultipartFile> files = fileRequest.getFiles("qqfile"); for (MultipartFile myfile : files) { String path = myfile.getOriginalFilename(); String fileName = path; InputStream is = myfile.getInputStream(); path = FileManager.T_MAIL_ATTACHMENT_PATH + folder + File.separator + fileName; uploadfiles(path, is);// 上傳文件 } } catch (Exception e) { e.printStackTrace(); logger.error("上傳文件異常:"+e.getMessage()); } }
測試後發現 文件 能上傳了.可是頁面上卻提示上傳失敗.最後 發現 這個插件是根據response 回寫的內容提示判斷文件上傳失敗與否的,那就好辦了,回寫個就是了.發現fineuploader其提供的java 文件UploadReceiver含有這樣的方法,哈哈正好.
代碼以下:
UploadReceiver ur = new UploadReceiver(); ur.writeResponse(resp.getWriter(), null);到此爲止.有問題,請跟貼.但願你跟貼的時候,世界末日還沒到來!