SpringMVC上传图片与访问

作者:201200834201 时间:2023-12-06 17:54:31 

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

标签:springmvc,上传图片,访问图片
0
投稿

猜你喜欢

  • Java面试题冲刺第二十九天--JVM3

    2021-05-24 05:34:26
  • SpringBoot如何注册Servlet、Filter、Listener的几种方式

    2023-07-15 05:15:08
  • mybatis的大于小于号转义符号一览

    2023-05-31 07:23:03
  • Android ListView组件详解及示例代码

    2022-04-27 07:12:08
  • 详解获取Spring MVC中所有RequestMapping以及对应方法和参数

    2023-12-09 21:29:17
  • java实现快速排序图文详解

    2022-10-11 16:35:18
  • C#事件标准命名规则及说明(包括用作事件类型的委托命名)

    2022-02-27 06:57:43
  • Android三方依赖冲突Gradle中exclude的使用

    2023-05-05 05:09:56
  • Java实现经典游戏Flappy Bird的示例代码

    2022-03-28 07:05:37
  • springboot 整合 sa-token简介及入门教程

    2023-03-24 01:10:45
  • C#开发Windows UWP系列之布局面板RelativePanel

    2023-04-11 12:28:29
  • java参数传递之值传递和引用传递

    2021-09-26 10:28:46
  • java音乐播放器实现代码

    2022-08-29 08:41:22
  • 浅谈图片上传利用request.getInputStream()获取文件流时遇到的问题

    2023-10-18 10:36:43
  • 详解Java编程中JavaMail API的使用

    2022-08-02 06:18:23
  • 基于spring cloud多个消费端重复定义feign client的问题

    2022-09-18 11:34:23
  • C#中面向对象编程机制之继承学习笔记

    2023-12-12 03:46:43
  • springboot中自定义异常以及定制异常界面实现过程解析

    2023-05-13 09:14:00
  • Android中将View的内容保存为图像的简单实例

    2023-11-01 12:45:41
  • C#中is和as用法实例分析

    2023-08-17 06:21:42
  • asp之家 软件编程 m.aspxhome.com