图片虚拟目录--即图片保存在window硬盘上面
这个是图片保存在电脑的硬盘上面的图片上传设置,既不是在web工程中,也不是在专门的图片服务器中,下面是配置方法:


r
这里的Document base 我们这里设置为F:\images
如果在浏览器访问图片访问虚拟目录即可:
http://localhost:8088/pic/40c43d9a-6e48-43ce-976d-cc0147216f13.jpg

此时我们查看设置的图片路径:就在我们的电脑F盘有这些图片,上传成功。

具体代码实现:
@RequestMapping("/editSubmit")
public String editSubmit(Model model ,Integer id,Items item,MultipartFile pictureFile) throws IllegalStateException, IOException{
model.addAttribute("id",id);
//MultipartFile专门用来接收上传的图片,附件等等类型复杂文件
if (pictureFile!=null) {
String originalFilename=pictureFile.getOriginalFilename();
String filePath="F:\\images\\";
/**
* 在处理 UNIX 平台的根目录,以及 Microsoft Windows 平台的盘符、根目录和 UNC(网络硬盘)
* 路径名时,将用到前缀这一概念。如下所示:
*
* 对于 UNIX 平台,绝对路径名的前缀始终是 "/"。相对路径名没有前缀。
* 表示根目录的绝对路径名的前缀为 "/" 且名称序列为空。
* 对于 Microsoft Windows 平台,包含盘符的路径名前缀由驱动器号和一个 ":"
* 组成。如果路径名是绝对路径名,还可能后跟 "\\"。
* UNC 路径名的前缀是 "\\\\";主机名和共享名是名称序列中的前两个名称。没有指定驱动器的相对路径名没有前缀。
*
* / String filePath="F:\\images\\"; String
* originalFilename=pictureFile.getOriginalFilename(); /* 关于字符串的截取:
* int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。 int indexOf(int ch,
* int fromIndex) 返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。 int
* indexOf(String str) 返回指定子字符串在此字符串中第一次出现处的索引。 int indexOf(String
* str, int fromIndex) 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。 int
* lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。 int lastIndexOf(int
* ch, int fromIndex) 返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。 int
* lastIndexOf(String str) 返回指定子字符串在此字符串中最右边出现处的索引。 int
* lastIndexOf(String str, int fromIndex)
* 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。 substring(int beginIndex)
* 返回一个新的字符串,它是此字符串的一个子字符串。 substring(int beginIndex, int endIndex)
* 返回一个新字符串,它是此字符串的一个子字符串。
* 索引就是指的查找的该字符在此字符串中的哪个位置:originalFilename.lastIndexOf(".")这里得到的是.
* 的位置是9
* originalFilename.substring(originalFilename.lastIndexOf("."))
* 这个是substring截取字符串,从第九个位置开始,即截取.jpg这个串。
*
*/
String newname=UUID.randomUUID()+originalFilename.substring(originalFilename.lastIndexOf("."));
//图片全路径设置
File file=new File(filePath+newname);
//将内存中的文件写入磁盘
pictureFile.transferTo(file);
//将新图片的名称写入数据库
item.setPic(newname);
}
itemService.update(id,item);
return "redirect:queryitem.action";
}
//这里要区分开jsp参数与controller参数的绑定形式:是restful形式还是非restful形式的绑定。如果是restful形式的用{},用@Pathvariable接收
//如果是非restful形式的,则使用在方法的参数列表中接收
@RequestMapping("/deleteitem")
public String deleteitem(Integer id) {
itemService.deleteItem(id);
return "redirect:queryitem.action";
}
这里注意File类的路径在windows中是\\.
另外注意字符串的截取问题
图片虚拟目录--即图片保存在window硬盘上面的更多相关文章
- IIS虚拟目录与UNC路径权限初探
最近在一个项目中涉及到了虚拟目录与UNC路径的问题,总结出来分享给大家. 问题描述 某客户定制化项目(官网),有一个图片上传的功能.客户的Web机器有10台,通过F5负载均衡分摊请求. 假设这10台机 ...
- Tomcat虚拟目录的配置
Tomcat可以作为应用服务器部署Java应用,同时可以创建虚拟目录存放图片,相当于一个图片服务器使用1. 创建目录 /usr/images/2. 编辑TOMCAT_HOME/conf/server. ...
- Silverlight项目笔记7:xml/json数据解析、TreeView、引用类型与数据绑定错误、图片加载、虚拟目录设置、silverlight安全机制引发的问题、WebClient缓存问题
1.xml/json数据解析 (1)xml数据解析 使用WebClient获取数据,获取到的数据实例化为一个XDocument,使用XDocument的Descendants(XName)方法获得对应 ...
- jsp 访问文件夹中的图片,tomcat配置虚拟目录
1.配置hosts文件 找到C:\Windows\System32\drivers\etc\hosts.txt 文件 添加127.0.0.1 www.image.com 在dos 命令中执行 pi ...
- tomcat 配置图片虚拟路径不起作用解决办法
最近在做一个小项目,用到了图片上传服务器,以前尝试过实现这个功能Demo,虽然基本功能没有问题,但是很不完善,当时也有在博客记录, 地址如下: http://www.jb51.net/article/ ...
- Android 获取SDCard中某个目录下图片
本文介绍Android开发中如何获取SDCard中某目录下的所有图片并显示出来,下面的我们提供的这个函数是通用的,只要提供路径就可以查询出该目录下所有图片的路径信息,并保存到一个List<Str ...
- android 删除SD卡或者手机的缓存图片和目录
public static final String TEMP_PHOTO_FILE_NAME = "temp_photo.jpg"; private static String ...
- vue项目使用static目录存放图片解决方案
我个人喜欢把所有引用文件全部放在打包文件src的同级文件static文件内部,方便整合. 提醒:vue项目中正常情况下图片是由 url-loader 处理,加入了hash值,如果放到static里面w ...
- springboot-为内置tomcat设置虚拟目录
需求 项目使用springboot开发,以jar包方式部署.项目中文件上传均保存到D判断下的upload目录下. 在浏览器中输入http://localhost:8080/upload/logo_1. ...
随机推荐
- 基于腾讯云CLB实现K8S v1.10.1集群高可用+负载均衡
概述: 最近对K8S非常感兴趣,同时对容器的管理等方面非常出色,是一款非常开源,强大的容器管理方案,最后经过1个月的本地实验,最终决定在腾讯云平台搭建属于我们的K8S集群管理平台~ 采购之后已经在本地 ...
- 【算法设计与数据结构】为何程序员喜欢将INF设置为0x3f3f3f3f?(转)
摘自https://blog.csdn.net/jiange_zh/article/details/50198097 在算法竞赛中,我们常常需要用到一个“无穷大”的值,对于我来说,大多数时间我会根据具 ...
- 关于0x80000000为什么等于-2147483648和负数在内存上储存的问题
转载自大佬的博客https://blog.csdn.net/youyou362/article/details/72667951/ 1·先说明负数怎么储存 (1)十进制负数是以其补码储存在内存上. 验 ...
- unrecognized selector send to instancd 快速定位
1.在Debug菜单中Breakpoints->Create Symbolic Breakpoint; 2.在Symbolic中填写方法签名: -[NSObject(NSObject) does ...
- 本周WEB技术学习情况
相较于之前本周有了明显的进步 之前不熟悉的知识点在多次的实机中得到巩固加深,用得越来越得心应手 我认为只要多用功更加自主的学习 web其实并不难 希望自己天天进步
- ASP.NET 文档
标题:ASP.NET 文档 地址:https://docs.microsoft.com/zh-cn/aspnet/index#pivot=core&panel=core_overview 标题 ...
- Java中按值传递与按引用传递的区别
值传递:(形式参数类型是基本数据类型):方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响 ...
- android入门 — Service
Service完全在后台运行,没有用户界面.使用的时候先创建Service子类,然后在AndroidManifest.xml中进行注册,同时可以通过<intent-filter.../>进 ...
- Swift-setValuesForKeysWithDictionary
重写 setValuesForKeysWithDictionary 那么字典中可以有的字段在类中没有对应属性 class Person : NSObject { var age :Int = // 重 ...
- WPF/MVVM快速指引
简介 最近微软推出了UWA,又是一波新的C#+xaml学习热.好多小伙伴都对MVVM感觉很好奇,但是有些地方也有点难以理解.特意写了这边文章,希望对你有帮助. 这边文章会很长,所以我会用几个例子的形式 ...