SpringMVC上傳圖片與訪問
關于springmvc上傳圖片的方法小編給大家整理了兩種方法,具體內容如下所示:
第一種:(放在該項目下的物理地址對應的位置)
a. 路徑寫法:
String basePath="/WEB-INF/resources/upload";
String filePathName= request.getSession().getServletContext().getRealPath(basePath);存放路徑
b. 實際路徑:
D:\WorkSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\XYT\WEB-INF\resources\upload\圖片名稱
c. 訪問路徑: http://localhost:8080/XYT/resources/upload/圖片名稱
d. 前提:只要這個項目能運行就行。
第二種:(創(chuàng)建虛擬路徑,配置Tomcat下server.xml,創(chuàng)建存儲路徑和訪問路徑)
1.路徑寫法:
String filePathName=Constant.IMG_PATH+File.separator+"upload";
其中:public static final String IMG_PATH = "E:\\Java\\img";
2.路徑配置:
Server.xml配置
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> <!-- add(save pictures) --> <Context path="/upload" docBase="E:\Java\img\upload"></Context> </Host>
3.實際路徑:E:\Java\img\upload
4.訪問路徑:http://localhost:8080/upload/圖片名稱
5.參考:http://my.oschina.net/pingdy/blog/381001
6.前提:必須打開Tomcat服務器
舉例:上傳圖片的實例:(可以上傳多張圖片)
JSONObject rs=new JSONObject(); CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver( request.getSession().getServletContext()); String url=""; if (multipartResolver.isMultipart(request)) { MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; Iterator<String> iter = multiRequest.getFileNames(); while (iter.hasNext()) { MultipartFile file = multiRequest.getFile((String) iter.next()); if (file != null) { String originalFileName = file.getOriginalFilename(); String[] f = originalFileName.split("\\."); String ext = ""; if(f!=null && f.length>1){ ext = f[f.length-1]; System.out.println(ext); } System.out.println(allowImgType==null); if(!allowImgType.contains(ext.toUpperCase())){ rs.put("code", "ERR_UPLOAD_0003"); rs.put("msg", "類型錯誤"); return rs; } //String basePath="/WEB-INF/resources/upload";//String filePathName = request.getSession().getServletContext().getRealPath(basePath); String filePathName=Constant.IMG_PATH+File.separator+"upload"; url = filePathName; System.out.println(url); //上傳后記錄在path這個路徑下。 File localFile = new File(filePathName); if(!localFile.exists()){ localFile.mkdir(); } //compress String fname =new Date().getTime()+"."+ext; String originalFname = fname.substring(0,fname.indexOf("."))+"_original."+ext; String fileName = filePathName + File.separator + fname; String oFileName = filePathName + File.separator + originalFname; File infile = new File(fileName); File oFile = new File(oFileName); try{ ImageHelper.compress(file.getInputStream(), 600, infile); file.transferTo(oFile);//original 上傳原圖 JSONObject obj = new JSONObject(); rs.put("code", Constant.CODE_SUCCESS); rs.put("data", obj.toString()); }catch(Exception e){ rs.put("code", "ERR_UPLOAD_0001"); rs.put("msg", "ERR_UPLOAD_0001"); e.printStackTrace(); return rs; } }
以上所述是針對SpringMVC上傳圖片與訪問的相關內容,希望對大家有所幫助。
- 詳解SpringMVC使用MultipartFile實現(xiàn)文件的上傳
- SpringMVC 文件上傳配置,多文件上傳,使用的MultipartFile的實例
- SpringMVC文件上傳 多文件上傳實例
- SpringMVC 上傳文件 MultipartFile 轉為 File的方法
- SpringMVC中MultipartFile上傳獲取圖片的寬度和高度詳解
- jquery.form.js框架實現(xiàn)文件上傳功能案例解析(springmvc)
- SpringMvc MultipartFile實現(xiàn)圖片文件上傳示例
- SpringMVC上傳和解析Excel方法
- SpringMVC+Ajax實現(xiàn)文件批量上傳和下載功能實例代碼
- SpringMVC按Ctrl上傳多個文件的方法
相關文章
SpringBoot注解篇之@Resource與@Autowired的使用區(qū)別
@Resource 注解和 @Autowired 注解都是在 Spring Framework 中進行依賴注入的注解,那么你知道他們有什么區(qū)別嗎,本文就來介紹一下2023-12-12SpringBoot解決同名類導致的bean名沖突bean name conflicts問題
這篇文章主要介紹了SpringBoot解決同名類導致的bean名沖突bean name conflicts問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06springboot 自定義異常并捕獲異常返給前端的實現(xiàn)代碼
在開發(fā)中,如果用try catch的方式,每個方法都需要單獨實現(xiàn),為了方便分類異常,返回給前端,采用了@ControllerAdvice注解和繼承了RuntimeException的方式來實現(xiàn),具體實現(xiàn)內容跟隨小編一起看看吧2021-11-11Java中的 BigDecimal 和 String 的相互轉換問題
這篇文章主要介紹了Java中的 BigDecimal 和 String 的相互轉換問題,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-05-05