SpringMVC上传图片与访问
关于springmvc上传图片的方法小编给大家整理了两种方法,具体内容如下所示:
第一种:(放在该项目下的物理地址对应的位置)
a.路径写法:
StringbasePath="/WEB-INF/resources/upload";
StringfilePathName=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.前提:只要这个项目能运行就行。
第二种:(创建虚拟路径,配置Tomcat下server.xml,创建存储路径和访问路径)
1.路径写法:
StringfilePathName=Constant.IMG_PATH+File.separator+"upload";
其中:publicstaticfinalStringIMG_PATH="E:\\Java\\img";
2.路径配置:
Server.xml配置
<Hostname="localhost"appBase="webapps" unpackWARs="true"autoDeploy="true"> <ValveclassName="org.apache.catalina.valves.AccessLogValve"directory="logs" prefix="localhost_access_log."suffix=".txt" pattern="%h%l%u%t"%r"%s%b"/> <!--add(savepictures)--> <Contextpath="/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服务器
举例:上传图片的实例:(可以上传多张图片)
JSONObjectrs=newJSONObject(); CommonsMultipartResolvermultipartResolver=newCommonsMultipartResolver( request.getSession().getServletContext()); Stringurl=""; if(multipartResolver.isMultipart(request)){ MultipartHttpServletRequestmultiRequest=(MultipartHttpServletRequest)request; Iterator<String>iter=multiRequest.getFileNames(); while(iter.hasNext()){ MultipartFilefile=multiRequest.getFile((String)iter.next()); if(file!=null){ StringoriginalFileName=file.getOriginalFilename(); String[]f=originalFileName.split("\\."); Stringext=""; 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","类型错误"); returnrs; } //StringbasePath="/WEB-INF/resources/upload";//StringfilePathName=request.getSession().getServletContext().getRealPath(basePath); StringfilePathName=Constant.IMG_PATH+File.separator+"upload"; url=filePathName; System.out.println(url); //上传后记录在path这个路径下。 FilelocalFile=newFile(filePathName); if(!localFile.exists()){ localFile.mkdir(); } //compress Stringfname=newDate().getTime()+"."+ext; StringoriginalFname=fname.substring(0,fname.indexOf("."))+"_original."+ext; StringfileName=filePathName+File.separator+fname; StringoFileName=filePathName+File.separator+originalFname; Fileinfile=newFile(fileName); FileoFile=newFile(oFileName); try{ ImageHelper.compress(file.getInputStream(),600,infile); file.transferTo(oFile);//original上传原图 JSONObjectobj=newJSONObject(); rs.put("code",Constant.CODE_SUCCESS); rs.put("data",obj.toString()); }catch(Exceptione){ rs.put("code","ERR_UPLOAD_0001"); rs.put("msg","ERR_UPLOAD_0001"); e.printStackTrace(); returnrs; } }
以上所述是针对SpringMVC上传图片与访问的相关内容,希望对大家有所帮助。