摘要:前言案例使用的開發(fā)工具不足之處希望各位大佬們多多指教頂包文件代碼圖片路徑選擇圖片代碼圖片上傳選完文件后,是否自動上傳。內(nèi)部根據(jù)當(dāng)前運(yùn)行是創(chuàng)建,可能是元素,也可能是這里是的文件上傳方式,或者。默認(rèn)值設(shè)置文件上傳域的。
前言:
????????案例使用的開發(fā)工具:eclipse
? ? ? ? 不足之處希望各位大佬們多多指教( ̄▽ ̄*)頂
????????
????????????????
? ? ? ? ? ? ??
WebUploaderServlet WebUploaderServlet servlet.WebUploaderServlet WebUploaderServlet /webUploader.do
????????????????
????????????????????????
????????????????
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub Map map=WebUploaderAction.webUploaderImg(request, response); System.out.println("code:"+map.get("code")+" data:"+map.get("data")); try { response.getWriter().write(JSONObject.fromObject(map).toString()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }}
????????
package action;import java.io.File;import java.io.IOException;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.UUID;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;public class WebUploaderAction extends HttpServlet{ // 上傳文件存儲目錄 private static final String UPLOAD_DIRECTORY = "upload"; // 上傳配置 private static final int MEMORY_THRESHOLD = 1024 * 1024 * 3; // 3MB private static final int MAX_FILE_SIZE = 1024 * 1024 * 40; // 40MB private static final int MAX_REQUEST_SIZE = 1024 * 1024 * 50; // 50MB public static Map webUploaderImg(HttpServletRequest request,HttpServletResponse response) { System.out.println("webUploaderImg方法進(jìn)入"); response.setCharacterEncoding("utf-8"); response.setContentType("text/json"); Map map=new HashMap(); if (!ServletFileUpload.isMultipartContent(request)) { // 如果不是則停止 map.put("code", 400); map.put("data", "Error: 表單必須包含 enctype=multipart/form-data"); return map; } // 配置上傳參數(shù) DiskFileItemFactory factory = new DiskFileItemFactory(); // 設(shè)置內(nèi)存臨界值 - 超過后將產(chǎn)生臨時(shí)文件并存儲于臨時(shí)目錄中 factory.setSizeThreshold(MEMORY_THRESHOLD); // 設(shè)置臨時(shí)存儲目錄 factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); ServletFileUpload upload = new ServletFileUpload(factory); // 設(shè)置最大文件上傳值 upload.setFileSizeMax(MAX_FILE_SIZE); // 設(shè)置最大請求值 (包含文件和表單數(shù)據(jù)) upload.setSizeMax(MAX_REQUEST_SIZE); // 中文處理 upload.setHeaderEncoding("UTF-8"); // 構(gòu)造臨時(shí)路徑來存儲上傳的文件 // 這個(gè)路徑相對當(dāng)前應(yīng)用的目錄 String uploadPath = "D:/" + UPLOAD_DIRECTORY; // 如果目錄不存在則創(chuàng)建 File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdir(); } //設(shè)置路徑參數(shù) String imgUrl=""; try { // 解析請求的內(nèi)容提取文件數(shù)據(jù) @SuppressWarnings("unchecked") List formItems = upload.parseRequest(request); System.out.println("c"); if (formItems != null && formItems.size() > 0) { // 迭代表單數(shù)據(jù) for (FileItem item : formItems) { // 處理不在表單中的字段 if (!item.isFormField()) { //獲取上傳文件的名稱 String fileName =UUID.randomUUID().toString()+".png";//防重名 //指定的類型 String filePath = uploadPath + File.separator + fileName; File storeFile = new File(filePath); // 在控制臺輸出文件的上傳路徑 System.out.println("文件上傳成功:"+filePath); // 保存文件到硬盤 item.write(storeFile); imgUrl="/" + UPLOAD_DIRECTORY + "/" + fileName;//不可以直接filePath System.out.println("imgUrl:"+imgUrl); } } } } catch (Exception ex) { ex.printStackTrace(); } map.put("code",200); map.put("data", imgUrl); return map; }}
????????
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/124029.html
摘要:簡介是由團(tuán)隊(duì)開發(fā)的一個(gè)簡單的以為主,為輔的現(xiàn)代文件上傳組件。采用大文件分片并發(fā)上傳,極大的提高了文件上傳效率。另外分片傳輸能夠更加實(shí)時(shí)的跟蹤上傳進(jìn)度。選擇文件的按鈕。 簡介:WebUploader是由Baidu WebFE(FEX)團(tuán)隊(duì)開發(fā)的一個(gè)簡單的以HTML5為主,F(xiàn)LASH為輔的現(xiàn)代文件上傳組件。在現(xiàn)代的瀏覽器里面能充分發(fā)揮HTML5的優(yōu)勢,同時(shí)又不摒棄主流IE瀏覽器,沿用原來的...
摘要:簡介是由團(tuán)隊(duì)開發(fā)的一個(gè)簡單的以為主,為輔的現(xiàn)代文件上傳組件。采用大文件分片并發(fā)上傳,極大的提高了文件上傳效率。另外分片傳輸能夠更加實(shí)時(shí)的跟蹤上傳進(jìn)度。選擇文件的按鈕。 簡介:WebUploader是由Baidu WebFE(FEX)團(tuán)隊(duì)開發(fā)的一個(gè)簡單的以HTML5為主,F(xiàn)LASH為輔的現(xiàn)代文件上傳組件。在現(xiàn)代的瀏覽器里面能充分發(fā)揮HTML5的優(yōu)勢,同時(shí)又不摒棄主流IE瀏覽器,沿用原來的...
摘要:簡介是由團(tuán)隊(duì)開發(fā)的一個(gè)簡單的以為主,為輔的現(xiàn)代文件上傳組件。采用大文件分片并發(fā)上傳,極大的提高了文件上傳效率。另外分片傳輸能夠更加實(shí)時(shí)的跟蹤上傳進(jìn)度。選擇文件的按鈕。 簡介:WebUploader是由Baidu WebFE(FEX)團(tuán)隊(duì)開發(fā)的一個(gè)簡單的以HTML5為主,F(xiàn)LASH為輔的現(xiàn)代文件上傳組件。在現(xiàn)代的瀏覽器里面能充分發(fā)揮HTML5的優(yōu)勢,同時(shí)又不摒棄主流IE瀏覽器,沿用原來的...
摘要:之前實(shí)習(xí)做的一個(gè)移動端的頁面需要的功能有圖片上傳點(diǎn)擊客戶端的返回按鈕有提示即與客戶端有交互遇到不少的坑總結(jié)一下問題圖片上傳功能使用工具百度的暫時(shí)遇到的坑刪除圖片實(shí)際上并沒有完全刪除需要自己在源碼上添加詳情看的提問上傳的圖片旋轉(zhuǎn)角度有問題比 之前實(shí)習(xí)做的一個(gè)移動端的頁面 需要的功能有圖片上傳 點(diǎn)擊客戶端的返回按鈕 有提示(即與客戶端有交互) 遇到不少的坑 總結(jié)一下問題 1.圖片上傳功能 ...
摘要:否則強(qiáng)制轉(zhuǎn)換成指定的類型。是否要分片處理大文件上傳還有其他配置項(xiàng)上傳事件選擇需要上傳的文件后,文件就會加入文件隊(duì)列,并觸發(fā)事件上傳進(jìn)度回調(diào)事件,在文件上傳中,多次調(diào)用此事件當(dāng)文件上傳成功時(shí)觸發(fā)當(dāng)文件上傳出錯(cuò)時(shí)觸發(fā)。 WebUploader簡述 具有兩套運(yùn)行時(shí)支持:HTML5與FLASH 分片、并發(fā) 預(yù)覽、壓縮 多途徑添加文件 MD5驗(yàn)證 引入文件 雖然官方?jīng)]說必須要引入JQuery...
摘要:否則強(qiáng)制轉(zhuǎn)換成指定的類型。是否要分片處理大文件上傳還有其他配置項(xiàng)上傳事件選擇需要上傳的文件后,文件就會加入文件隊(duì)列,并觸發(fā)事件上傳進(jìn)度回調(diào)事件,在文件上傳中,多次調(diào)用此事件當(dāng)文件上傳成功時(shí)觸發(fā)當(dāng)文件上傳出錯(cuò)時(shí)觸發(fā)。 WebUploader簡述 具有兩套運(yùn)行時(shí)支持:HTML5與FLASH 分片、并發(fā) 預(yù)覽、壓縮 多途徑添加文件 MD5驗(yàn)證 引入文件 雖然官方?jīng)]說必須要引入JQuery...
閱讀 3415·2021-11-24 09:38
閱讀 3194·2021-11-22 09:34
閱讀 2107·2021-09-22 16:03
閱讀 2367·2019-08-29 18:37
閱讀 380·2019-08-29 16:15
閱讀 1770·2019-08-26 13:56
閱讀 865·2019-08-26 12:21
閱讀 2207·2019-08-26 12:15