这个是图片保存在电脑的硬盘上面的图片上传设置,既不是在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. sendcloud golang 发送短信 示例代码

    package main import ( "fmt" "crypto/md5" "encoding/hex" "sort&quo ...

  2. 微软职位内部推荐-Senior Software Engineer II-Search

    微软近期Open的职位: Do you want to work on a fast-cycle, high visibility, hardcore search team with ambitio ...

  3. Hibernate入门篇<1>hibernate.cfg.xml学习小结

    Hibernate配置文件主要用于配置数据库连接和Hibernate运行时所需的各种属性,这个配置文件应该位于应用程序或Web程序的类文件夹 classes中.Hibernate配置文件支持两种形式, ...

  4. 第三次ScrumMeeting博客

    第三次ScrumMeeting博客 本次会议于10月27日(五)22时整在3公寓725房间召开,持续10分钟. 与会人员:刘畅.方科栋.窦鑫泽.张安澜. 1. 每个人的工作(有Issue的内容和链接) ...

  5. Python3【基础】-表达式与运算符

    一.什么是表达式? 1+2*3就是一个表达式,这里的加号和乘号叫做运算符,1.2.3叫做操作数.1+2*3计算的结果是7,计算结果可以存到一个变量中,即:res = 1 + 2 * 3. 所谓的表达式 ...

  6. Cross origin requests are only supported for protocol schemes: http, data, chrome,chrome-extension的问题

    Cross origin requests are only supported for protocol schemes: http, data, chrome,chrome-extension的问 ...

  7. C# 钱数 小写 转 大写

    public class Rmb { /// <summary> /// 转换人民币大小金额 /// </summary> /// <param name="n ...

  8. 03慕课网《进击Node.js基础(一)》API-URL网址解析

    url url.parse(url,query,host);解析域名 url必须,地址字符串 query可选 host 可选:在不清楚协议时正确解析 querystring 字符串和对象之间互相解析 ...

  9. 在windows和unbuntu上安装octave

    windows安装octave 安装wiki Octave ftp库 从上述的库中可以找到对应的版本的octave的exe安装程序,或者是zip等的压缩包,建议直接下载对应系统的exe执行文件.安装. ...

  10. Alpha冲刺——第八天

    Alpha第八天 听说 031502543 周龙荣(队长) 031502615 李家鹏 031502632 伍晨薇 031502637 张柽 031502639 郑秦 1.前言 任务分配是VV.ZQ. ...