SpringMVC上传图片与访问

前端技术 2023/09/06 Java

关于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. 前提:只要这个项目能运行就行。

第二种:(创建虚拟路径,配置Tomcat下server.xml,创建存储路径和访问路径)

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上传图片与访问的相关内容,希望对大家有所帮助。

本文地址:https://www.stayed.cn/item/15922

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。