Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程  。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。

第一步:借助于springmvc框架的平台实现。

第二步:java网页下载功能怎么获取文件名。

第三步:前端如何实现突破预览效果。

第二步骤:主要功能实现。springboot默认是集成springmvc,使用springboot和直接使用springmvc上传是一样的。springboot默认是集成springmvc,使用springboot和直接使用springmvc上传是一样的。

2、前端代码:

1、具体代码如下所示:

此处直接使用的表单同步提交。

图片上传

图片:

.

控制器UploadController 实现

UploadController 主要分为3部分

1.1 调整页面请求goUploadImg

1.2 上传请求方法uploadImg

1.3 存储图片方法uploadFile

@Controllerpublic class UploadController {

//跳转到上传文件的页面

@RequestMapping(value = "/gouploadimg", method = RequestMethod.GET)

public String goUploadImg() {

//跳转到 templates 目录下的 uploadimg.html

return "uploadimg";

}

//处理文件上传

@ResponseBody //返回json数据

@RequestMapping(value = "/testUploadimg", method = RequestMethod.POST)

public String uploadImg(@RequestParam("file") MultipartFile file,

HttpServletRequest request) {

tring contentType = file.getContentType();

String fileName = file.getOriginalFilename();

String filePath = "D:/img";

if (file.isEmpty()) {

return "文件为空!";

}

try {

uploadFile(file.getBytes(), filePath, fileName);

} catch (Exception e) {

// TODO: handle exception

}

//返回json

return "上传成功";

}

public static void uploadFile(byte[] file, String filePath, String fileName) throws Exception {

File targetFile = new File(filePath);

if (!targetFile.exists()) {

targetFile.mkdirs();

}

FileOutputStream out = new FileOutputStream(filePath +"/"+ fileName);

out.write(file);

out.flush();

out.close();

}

}

2:同时需要将上传图片的原始文件名和存储文件名、以及关联id存入一个数据表中。

2.1 将存储文件名设置为UUID,避免存储文件名重复

public static String getUUID(){

UUID uuid=UUID.randomUUID();

String str = uuid.toString();

String uuidStr=str.replace("-", "");

return uuidStr;

}

2.2 将存储文件名按照时间生成,避免存储文件名重复

System.nanoTime()

该函数是返回纳秒的。1毫秒=1纳秒*1000*1000

如:long time1=System.nanoTime();

2.3 或者借助于SimpleDateFormat 将Date格式化到毫秒也可以解决文件重名的问题。

测试。

打开页面地址如下图所示:

java 保存图片_java后台接受到图片后保存方法相关推荐

  1. Java踩坑笔记 —— base64转换为图片后图片显示不全

    Java踩坑笔记 -- base64转换为图片后图片显示不全 前言 解决思路 案例代码 结束语 前言 最近在开发项目中,发现base64转换图片时,出现了图片显示不全,例如如下这样 可以明显看到图片部 ...

  2. JAVA快速获取网络图片或者URL图片并保存到本地

    JAVA快速获取网络图片或者URL图片并保存到本地,直接上代码: import java.io.ByteArrayOutputStream; import java.io.File; import j ...

  3. Java pdf使用aspose分页转图片后再合成pdf再压缩pdf, 所有文件放到缓存中代码

    使用 Aspose 库将 PDF 分页转换为图片后再合成为 PDF 并压缩的代码如下: import com.aspose.pdf.*; import java.io.*; import java.u ...

  4. Java pdf使用aspose分页转图片后再合成pdf再压缩pdf代码

    使用 Aspose 将 PDF 分页转换为图片后再合并成 PDF 并压缩的代码示例如下: import com.aspose.pdf.*;// Load the PDF document Docume ...

  5. Matlab 读出图片后保存大小改变

    一.问题: matlab imread 的图片,保存后大小和原图不一致 二.解决办法: figure(); % imshow(uint8(img)); title('Original'); % tru ...

  6. java 如何将base64 转成图片并保存,返回地址入库

    目标:将前端传进来的base64  转换成图片,并保存到指定目录,然后将目录存入数据库.这个实际项目中还是挺常见的. 代码如下; 先掉  base64ToByte(); 在调用 filePath() ...

  7. java 保存图片_java实现保存文件图片以及读取

    // 文件转换为字节数组 private byte[] getByteFromFile(File file) { byte[] be = null; try { if (file == null) { ...

  8. java二进制保存图片_Java中如何把图片转换成二进制流

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1.将Image图像文件存入到数据库中 我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才能存 ...

  9. mq java 开发_Java后台开发ActiveMQ使用指南

    ActiveMQ简单的介绍 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线,是一个开放源代码消息中间件,对于消息的传递有两种类型:点对点的,即一个生产者和一个消费者一一对应. ...

  10. java保存图片_java 保存图片

    使用BufferedImage生成图片 保存图片有两种方式: 1.JPEGImageEncoder 该种方式保存的图片会失真,而且图片还大,不建议使用: BufferedImage image; Bu ...

最新文章

  1. Chemical Science | 基于金属的片段分子库用于筛选候选药物
  2. Shell练习(七)
  3. 项目管理概述学习记录(一)
  4. Immutable 想破坏它也没办法
  5. php动态写入vue,Vue自定义动态组件使用详解
  6. 爬虫之数据解析的三种方式
  7. java dct变换_Discrete Cosine Transform [DCT] (离散余弦变换)
  8. 在Mac上如何设置自动解压下载的压缩文件?
  9. asus官方android升级包,华硕ASUS手机平板官方刷机包raw格式解压修改工具
  10. java逻辑表达式的计算和优化
  11. 找出数组x中的最大值和该值所在的元素下标,数组元素从键盘输入。
  12. Eslint代码规范
  13. 教你们如何快速建立一个完美的python项目
  14. snowStorm.js下雪效果
  15. 迅为3A5000_7A2000开发板龙芯全国产处理器LoongArch架构核心方案
  16. 二叉搜索树(BST)——基本概念及基本实现代码
  17. Oracle使用PL/SQL自定义函数
  18. 定义销售组织(Sales Organization)
  19. reids3.0安装文档
  20. Xilinx zc706 Si5324

热门文章

  1. 巴伦变压器电路图_一文看懂巴伦(功能原理、性能参数、基本类型)
  2. 腾讯往届笔试面试题整理大全
  3. 51单片机——独立按键
  4. w10系统asp服务器搭建,win10系统搭建asp环境的操作方法
  5. Linux SD卡驱动开发(三) —— SD 卡驱动分析CORE篇
  6. 【转】色品图(chromaticity diagram)
  7. 国产配色网站,简单好用,包含在线图片取色工具
  8. APISpace 全国行政区查询API
  9. 计算机网络与基础第五章答案,第五章 计算机网络基础
  10. Linux tty字符终端下VIM显示混乱的解决方法