代码是最有力量的,嘎嘎

@CrossOrigin
@ApiOperation(value = "上传图片", notes = "上传图片", httpMethod = "POST")
@ApiImplicitParam(name = "file", value = "图片路径", required = true, dataType = "file")
@ResponseBody
@PostMapping("/uploadImage")
public ResultSet uploadImage(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request)
throws IOException {
// 上传的图片只允许是 png 或者jpg 中的格式
if (file.getOriginalFilename().contains(".png") || file.getOriginalFilename().contains(".jpg")) {
// 根据相对路径转化为真实路径
String rootpath = request.getSession().getServletContext().getRealPath(File.separator);// 获得web应用的绝对路径
File createFile = new File(rootpath + "/image/");
if (!createFile.exists()) {// 判断文件是否存在如果不存在则自动创建文件夹
createFile.mkdir();
}
//String uuid = IdGen.uuid() + "_";// 随机生成一个唯一性的id 确保apk文件重名
File f = new File(rootpath + "/image/" + file.getOriginalFilename());
if (f.exists()) {//上传的文件已经存在,则提示用户重新上传 apk 或者重命名
return ResultSet.getFail("文件已经存在,请重新上传或者重命名");
} else {
System.out.println(rootpath);
file.transferTo(f); // 将上传的文件写入到系统中 return ResultSet.getSuccess(rootpath +"/image/" + file.getOriginalFilename());
}
} else {
return ResultSet.getFail("上传文件失败");
}
} 另一种

@RequestMapping(value="/uploadPictures",method=RequestMethod.POST)
public Object uploadHeadPic(@RequestParam("file")CommonsMultipartFile file,InputStream inputStream,HttpServletRequest request) {
String uuid = UUID.randomUUID().toString().trim();
String fileN=file.getOriginalFilename();
int index=fileN.indexOf(".");
String fileName=uuid+fileN.substring(index);
try {
File fileMkdir=new File("F:\\photoTest");

if(!fileMkdir.exists()) {
fileMkdir.mkdir();
}
//定义输出流 将文件保存在D盘 file.getOriginalFilename()为获得文件的名字
FileOutputStream os = new FileOutputStream(fileMkdir.getPath()+"\\"+fileName);
InputStream in = file.getInputStream();
int b = 0;
while((b=in.read())!=-1){ //读取文件
os.write(b);
}
os.flush(); //关闭流
in.close();
os.close();
} catch (Exception e) {
return Result.getFail("图片上传失败);
}
return Result.getSuccess(fileN);
}


用到代码的小伙伴给我点个赞呀

java 图片上传的更多相关文章

  1. java图片上传(mvc)

    最近有开始学起了java,好久没写文章了,好久没来博客园了.最近看了看博客园上次写的图片上传有很多人看,今天在一些篇关于java图片上传的.后台接收用的是mvc.不墨迹了,直接上图. 先看目录结构.i ...

  2. js 利用iframe和location.hash跨域解决的方法,java图片上传回调JS函数跨域

    奶奶的:折腾了我二天,最终攻克了!网上有非常多样例. 但跟我的都不太一样,费话不多说了,上图   上代码: IE ,firefix,chrome 測试通过 js :这个主页面,部分代码, functi ...

  3. java图片上传,通过MultipartFile方式,如果后台获取null检查是否缺少步骤

    本方法基于springMvc 1.首先需要在webap下创建images 2.在springmvc.xml上引入 <bean id="multipartResolver" c ...

  4. Java图片上传压缩处理

    所需要的jar包在:\jdk1.7.0_25\jre\lib\rt.jar里面 package util; import java.awt.Image; import java.awt.image.B ...

  5. java图片上传及图片回显1

    目的:选择图片,进行图片回显之后将图片保存到服务器上(PS:没有使用任何插件,样式很丑) 实现方式: js+servlet+jsp的方式来实现 事先准备: 文件上传处理在浏览器中是以流的形式提交到服务 ...

  6. UEditor之实现配置简单的图片上传示例

    UEditor之实现配置简单的图片上传示例 原创 2016年06月11日 18:27:31 开心一笑 下班后,阿华到楼下小超市买毛巾,刚买完出来,就遇到同一办公楼里另一家公司的阿菲,之前与她远远的有过 ...

  7. java web图片上传和文件上传

    图片上传和文件上传本质上是一样的,图片本身也是文件.文件上传就是将图片上传到服务器,方式虽然有很多,但底层的实现都是文件的读写操作. 注意事项 1.form表单一定要写属性enctype=" ...

  8. java web开发 图片上传功能

    基本思路在于,配置路径,然后用java I/O的api将图片上传到该目录下. String photoPath =    ServletActionContext.getServletContext( ...

  9. Java Struts图片上传至指定文件夹并显示图片

    继上一次利用Servlet实现图片上传,这次利用基于MVC的Struts框架,封装了Servlet并简化了JSP页面跳转. JSP上传页面 上传一定要为form加上enctype="mult ...

随机推荐

  1. DVWA靶机-sql自动注入

    1. 使用dvwa靶机进行sql注入实战(注:当前靶机安全级别为low) 打开sql漏洞,发现输入不同的数字会返回不同的信息, 先尝试手工判断是否存在sql注入 一般sql注入语句像这样,我们构造的是 ...

  2. Java中对于ClassLoader类加载器 嵌套了深度技术的价值

    关于Java技术是一种不断兴起的编程语言,对于ClassLoader 是 Java 届最为神秘的技术之一,无数人被它伤透了脑筋,摸不清门道究竟在哪里.本文我带你彻底吃透 ClassLoader,让你甚 ...

  3. nginx 性能优化的概述及在CPU资源方面的处理

    nginx的性能优化的概述 软件层面的提升硬件的使用率 增大CPU的利用率 增大内存的利用率 增大磁盘IO利用率 增大网络带宽利用率 提升硬件规格 网卡:万兆网卡.例如10G.25G.40G等 磁盘: ...

  4. 十 Spring的AOP的底层实现:JDK动态代理和Cglib动态代理

    SpringAOP底层的实现原理: JDK动态代理:只能对实现了接口的类产生代理.(实现接口默认JDK动态代理,底层自动切换) Cglib动态代理(类似Javassist第三方的代理技术):对没有实现 ...

  5. Codeforces Round #594 (Div. 2) - C. Ivan the Fool and the Probability Theory(思维)

    题意:给n*m的网格涂黑白两种颜色,保证每个格子上下左右的四个格子中最多只有一个格子与自己颜色相同,问有多少种涂法?结果$mod1000000007$ 思路:先只考虑一行有多少种涂法 $dp[i][0 ...

  6. codeblocks与MINGW的配置

    最好直接下载带GW的Codeblocks,然后配置编译器,调试器,有几个地方要注意: 1 在setting->debugger下要搜到gdb.exe/gdb32.exe 2在debug-acti ...

  7. windows网络编程-C语言实现简单的UDP协议聊天

    与TCP协议下编写服务端程序代码类似,但因为是无连接的形式,所以不需要监听. 这次,我用了一点不同的想法:我建立一个服务端,用了两个端口和两个套接字,把服务端作为一个数据转发的中转站,使得客户机之间进 ...

  8. DRF项目之序列化器和视图重写方法的区别

    我们,都知道,DRF框架是一款高度封装的框架. 我们可以通过重写一些方法来实现自定义的功能. 今天,就来说说在视图中重写和序列化器中重写方法的区别. 在视图中重写方法: 接收请求,处理数据(业务逻辑) ...

  9. sql数据库的基本操作

    命令行 1.显示当前数据库服务器中的数据库列表:mysql> SHOW DATABASES;2.建立数据库:mysql> CREATE DATABASE 库名;3.建立数据表:mysql& ...

  10. 「AT2021」キャンディーとN人の子供 / Children and Candies

    前言 今天练习赛出了这道题,由于我太菜没有在考场上做出来. 翻了题解后,感觉题解讲的并不是十分直观,所以自己写一篇. 题目大意 太长了,不讲了. 数据范围: \(1\leq N\leq 400\) \ ...