这个是图片保存在电脑的硬盘上面的图片上传设置,既不是在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硬盘上面的更多相关文章

  1. IIS虚拟目录与UNC路径权限初探

    最近在一个项目中涉及到了虚拟目录与UNC路径的问题,总结出来分享给大家. 问题描述 某客户定制化项目(官网),有一个图片上传的功能.客户的Web机器有10台,通过F5负载均衡分摊请求. 假设这10台机 ...

  2. Tomcat虚拟目录的配置

    Tomcat可以作为应用服务器部署Java应用,同时可以创建虚拟目录存放图片,相当于一个图片服务器使用1. 创建目录 /usr/images/2. 编辑TOMCAT_HOME/conf/server. ...

  3. Silverlight项目笔记7:xml/json数据解析、TreeView、引用类型与数据绑定错误、图片加载、虚拟目录设置、silverlight安全机制引发的问题、WebClient缓存问题

    1.xml/json数据解析 (1)xml数据解析 使用WebClient获取数据,获取到的数据实例化为一个XDocument,使用XDocument的Descendants(XName)方法获得对应 ...

  4. jsp 访问文件夹中的图片,tomcat配置虚拟目录

    1.配置hosts文件 找到C:\Windows\System32\drivers\etc\hosts.txt 文件 添加127.0.0.1  www.image.com  在dos 命令中执行 pi ...

  5. tomcat 配置图片虚拟路径不起作用解决办法

    最近在做一个小项目,用到了图片上传服务器,以前尝试过实现这个功能Demo,虽然基本功能没有问题,但是很不完善,当时也有在博客记录, 地址如下: http://www.jb51.net/article/ ...

  6. Android 获取SDCard中某个目录下图片

    本文介绍Android开发中如何获取SDCard中某目录下的所有图片并显示出来,下面的我们提供的这个函数是通用的,只要提供路径就可以查询出该目录下所有图片的路径信息,并保存到一个List<Str ...

  7. android 删除SD卡或者手机的缓存图片和目录

    public static final String TEMP_PHOTO_FILE_NAME = "temp_photo.jpg"; private static String ...

  8. vue项目使用static目录存放图片解决方案

    我个人喜欢把所有引用文件全部放在打包文件src的同级文件static文件内部,方便整合. 提醒:vue项目中正常情况下图片是由 url-loader 处理,加入了hash值,如果放到static里面w ...

  9. springboot-为内置tomcat设置虚拟目录

    需求 项目使用springboot开发,以jar包方式部署.项目中文件上传均保存到D判断下的upload目录下. 在浏览器中输入http://localhost:8080/upload/logo_1. ...

随机推荐

  1. 如何使用phpredis连接Redis的方法

    本文跟大家介绍使用同一VPC内弹性云服务器ECS上的phpredis连接Redis的方法. 更多的客户端的使用方法,请参考https://redis.io/clients 前提条件 已成功申请Redi ...

  2. Python基础灬dict&set

    字典dict 字典使用键-值(key-value)存储,具有极快的查找速度. dict基本操作 取值 a_dict = {'name': 'jack', 'age': 18} print(a_dict ...

  3. 性能测试持续集成(Jenkins+Ant+Jmeter)

    一.环境准备: 1.JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.Jmeter:http://jme ...

  4. Centos7 Zabbix添加主机、图形、触发器

    制作自定义key zabbix自带模板Template OS Linux (Template App Zabbix Agent)提供CPU.内存.磁盘.网卡等常规监控,只要新加主机关联此模板,就可自动 ...

  5. 关于requestanimationframe

    首先字面理解,请求动画框架, 用法: var nextFrame = (function() { return window.requestAnimationFrame || window.webki ...

  6. 把字符串"3,1,2,4"以","分割拆分为数组,数组元素并按从小到大的顺序排列

    package com.wangcf; /** * 把字符串"3,1,2,4"以","分割拆分为数组,数组元素并按从小到大的顺序排列 * @author fan ...

  7. UVA 10328 - Coin Toss dp+大数

    题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_proble ...

  8. 201621123037 《Java程序设计》第14周学习总结

    作业14-数据库 标签(空格分隔): Java 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 使用数据库技术改造你的系统 2.1 简述如何使用数据库技术改造 ...

  9. crontab笔记

    *  *  * * *     root    rm -f /var/spool/cron/lastrun/cron.hourly    > out.file   第一部分:执行的周期与时间   ...

  10. json_decode遇到的编码问题

    初入csdn,就最近遇到的简单问题做一个功能解释; json_encode和json_decode只针对utf8字符有效,如果遇到其他编码比如gbk,需要进行转码然后解析: header(" ...