Java实现下载图片到本地
需求可以不看
需求:
接到需求是:前端传一个id,根据id去数据库里找图片保存地址,图片真实路径,和数据库保存路径不一致,所以路径要自己拼接。
这是真实图片路径
数据库存储路径
可看出后缀不一样,大小写没关系
测试又多了个前缀
一、下载图片到本地
1.直接上代码
import cn.hutool.core.lang.UUID;
import java.util.*;
import org.apache.commons.lang.StringUtils;
import lombok.SneakyThrows;
import com.egao.common.core.exception.BusinessException;
import java.io.*;@SneakyThrows@Overridepublic void downLoadPanorama(String id) {//根据前端传的id去数据库找对应图片信息Panorama panorama = panoramaDao.selectById(id);//获取图片地址String bImageNew = panorama.getBImageNew();//截取掉..String substring = bImageNew.substring(2);//截取最后一个\\之前的路径String s = org.apache.commons.lang3.StringUtils.substringBeforeLast(substring, "\\");//设置后缀String suffix = "\\pano.JPG";//由于string拼接效率较低,换种玩法StringBuilder builder = new StringBuilder();//数据库的路劲不对,要组装路径builder.append("src\\main\\resources\\static\\panorama").append(s).append(suffix);FileInputStream inputStream = null;try{inputStream = new FileInputStream(String.valueOf(builder));}catch (Exception e){throw new BusinessException("图片不存在");}StringBuffer stringBuffer = new StringBuffer();//组装下载路径,利用uuid可以重复下载多次,防止覆盖StringBuffer downLoadPath = stringBuffer.append("E:\\").append(java.util.UUID.randomUUID().toString()).append(".jpg");File file = new File(String.valueOf(downLoadPath));if(!file.exists()){file.createNewFile();}FileOutputStream outputStream = null;try {outputStream = new FileOutputStream(file);} catch (FileNotFoundException e) {throw new BusinessException("图片太大");}byte[] bytes = new byte[1024];int length;while((length=inputStream.read(bytes)) !=-1){outputStream.write(bytes);}outputStream.close();inputStream.close();}
2.测试如下
重复下载:
@RunWith(SpringRunner.class)
@SpringBootTest
public class RGisApplicationTests { @Resourceprivate PanoramaService panoramaService; @Testpublic void text() {panoramaService.downLoadPanorama("fh-620326c7bfca2552486f3bd9");}
}
总结
接到这个新功能,经过分析、查资料、调试、最终呈现出来的效果。
根据不同的业务场景,逻辑可能稍有变动,核心代码不变。
Java实现下载图片到本地相关推荐
- java下载图片到本地,例如从网上下载图片,下载淘宝图片,下载百度图片等
java下载图片到本地,例如从网上下载图片,下载淘宝图片,下载百度图片. 直接上代码如下: public static void download(String url,String saveFile ...
- swift 将图片保存到本地_如何保存微博的所有图片链接并下载图片到本地
点击上方 月小水长 并 设为星标,第一时间接收干货推送 这是 月小水长 的第 47 篇原创干货 对于一个爬虫,其爬取的目标不仅限于文字,图片.语音.视频均有可能,我开源的微博爬虫之话题爬虫,设定之初就 ...
- php导出照片,TP5导出excel图片和数据--先下载图片到本地服务器
## :-: TP5导出excel图片和数据--先下载图片到本地服务器 ~~~ public function Export( ) { set_time_limit(0); ini_set('memo ...
- 一、uniapp项目(封装异步请求、moment.js时间处理、封装手势滑动组件、下载图片到本地)
一.封装异步请求: 1. 为什么要封装? 2. 封装的思路 export default (params) => {// 显示加载中uni.showLoading({title: "加 ...
- 【python】根据pixiv网站的图片url下载图片到本地
写在前面 pixiv是著名的插画网站.如果我们通过爬虫技术得到了pixiv网站图片的url,那么如何根据url下载图片到本地. 安装模块 pip install requests 测试样例 打开以下页 ...
- php img本地图片路径,php 替换文章中的图片路径,下载图片到本地服务器的方法
php 替换文章中的图片路径,下载图片到本地服务器 /** * 获取替换文章中的图片路径 * @param string $xstr 内容 * @param string $oriweb 网址 * @ ...
- JS下载图片到本地,解决跨域问题
说下需求,点击按钮,实现下载图片到本地的功能,后台返回的url是阿里oss存储图片的地址,一开始只能预览图片,再后来受同源策略影响,依旧不能实现,但是在生成的图片后拼接?time=当前时间戳就可以实现 ...
- html5 canvas手写画板 下载图片至本地
html5 canvas手写画板 下载图片至本地 <!DOCTYPE html> <html><head><meta charset="utf-8& ...
- Android 手机下载图片保存本地后,系统相册无法查看
下载图片到本地,由于没有通知系统相册,更新数据,导致系统相册无法找到这张图片. 处理方法一:已知图片保存地址,通过广播通知系统相册, 更新数据. public static void sendBroa ...
最新文章
- 搭建turnserver
- JavaIO操作(1)字节流和字符流-1
- [论文笔记] Fast Quality Driven Selection of Composite Web Services (ECOWS, 2006)
- UWP 矢量字体图标(iconfont)使用
- 这些 Linux 的 “自动化” 技巧,教你轻松完成任务
- The Preliminary Contest for ICPC Asia Nanjing 2019ICPC南京网络赛
- 面试题 - 两个页面间如何传递数据
- SpringBoot简要
- java 删除桌面快捷方式_能否在桌面创建快捷方式运行java程序?
- debian开机打开浏览器_使自動起動! 我学到了!原来“文件”可以跟“应用程序”一样,都能设置开机自启!!...
- mac 上 php 验证码不显示图片
- bsvadvaanjalvsc
- ActivityGroup 缓存
- 计算机桌面无法新建文件夹,桌面新建的文件、文件夹都无法显示
- 【金万维】天联高级版的管理员帐号和密码忘记
- Python翻译Excel文件
- 指令集并行——vliw和超标量cpu
- 毕业生见习期考核鉴定表(单位考核意见)
- python爬虫 提取豆瓣Top250电影信息
- Unity中计算面法线与顶点法线
热门文章
- 如何在 VirtualBox 中安装 SteamOS
- 中国“芯”崛起 安防产业链格局是否将改变?
- 【华为OpenEuler】VirtualBox虚拟机与OpenEuler环境搭建教程
- 神经网络算法有哪些模型,常用的神经网络模型
- 智慧水利在线监测移动平台(Axure高保真原型)
- Php禁止外部盗链nginx,php如何禁止外部盗链
- win10打印机0x8007007e无法_win10 0x8007007e|win10系统0x8007007e错误解决方法
- 【愚公系列】2022年02月 微信小程序-sitemap站内搜索
- WPF依赖属性(二)
- 新编大学计算机基础教程txt,新编大学计算机基础教程新大学计算机基础教程.doc...