SpringBoot:上传文件(图片、语音)到本地服务器方案
上代码:
一、Controller层:
@ApiOperation("上传作品图片")
@PostMapping(value = "uploadCalligraphy")
public String uploadFile(MultipartFile[] multipartFiles){if(multipartFiles == null){
return ResultUtil.errorMsg("上传图片不能为空!");
}if(multipartFiles !=null && multipartFiles.length<=0){
return ResultUtil.errorMsg("上传图片不能为空!");
}return uploadService.uploadFile(multipartFiles);
}
二、Service业务服务层:
@Override
public String uploadFile(MultipartFile[] multipartFiles) {List<String> picUrls = new ArrayList<>();
try {
for (MultipartFile file : multipartFiles) {
String cgyUrl =this.httpBaseUrl + ossService.uploadImage(file);
picUrls.add(cgyUrl);
}
log.info(">>> Upload pic SECCUSS!And return pic url :{}", JSONObject.toJSON(picUrls));} catch (Exception e) {
log.error("xx>>> Upload pic EXCEPTION!The reason:", e);
return ResultUtil.errorMsg("上传书法图片异常!");
}Map<String, List> resultMap = new HashMap<>();
resultMap.put("picUrls", picUrls);
return ResultUtil.successMsg(resultMap);
}
三、OSS对象存储服务层
application.yml:
upload:
img:
filepath: /home/upload-file/img/test
@Value("${upload.img.filepath}")
public String imgFilePath ;@Override
public String uploadImage(MultipartFile file) throws Exception{// 获取文件后缀
String fileNameOld = file.getOriginalFilename();
String fileSuffix = fileNameOld.substring( fileNameOld.lastIndexOf("."), fileNameOld.length());// 新的文件名
String fileNameNew = System.currentTimeMillis() + "_" +new Random().nextInt(1000) + fileSuffix;//获取文件夹路径
String dataPath = DateUtil.DateTime2FormatStr(new Date(), DateUtil.DATE_FORMAT_CONCAT);
File dateFile =new File(imgFilePath + "/" + dataPath);// 如果文件夹不存在则创建
if(!dateFile .exists() && !dateFile .isDirectory()){
dateFile .mkdir();
}// 将图片存入文件夹
File targetFile = new File(dateFile, fileNameNew);//将上传的文件写到服务器上指定的文件。
file.transferTo(targetFile);String returnUrl = dataPath + "/" + fileNameNew;
return returnUrl ;
}
四、Tomcat 映射文件配置:
<Context docBase="D:\usr\local\eben\img\test" path="/img/test" reloadable="true"/>
SpringBoot:上传文件(图片、语音)到本地服务器方案相关推荐
- SpringBoot上传文件并储存到本地(记录)
主要是通过[MultipartFile]作为参数类型来实现文件上传的. 1.相关controller代码如下: @RequestMapping(value = "/upload", ...
- springboot上传文件到阿里云
springboot上传文件到OSS 前提声明,文章借鉴了https://blog.csdn.net/wonder_dog/article/details/81152307#commentsedit博 ...
- SpringBoot上传文件到 后端服务器 或 云服务器(七牛云、阿里云、腾讯云等等都是一样的操作步骤)
文章目录 一.新建SpringBoot项目 1.pom.xml 2.application.yml 3.配置Swagger3 4.统一返回类Result 5.统一异常响应ErrorCode 二.上传文 ...
- 上传excel腾讯云服务器,使用SpringBoot上传文件到腾讯云
最近在做一个项目,涉及到腾讯云上传文件/图片到服务器,为了图方便并且提升访问速度,想着上传到腾讯云存储桶是一个不错的选择.腾讯云存储桶的创建可见我之前的文章. 当然存储桶里面不仅可以存图片,也可以存储 ...
- springboot上传文件过大,全局异常捕获,客户端没有返回值
springboot上传文件过大,全局异常捕获,客户端没有返回值 参考文章: (1)springboot上传文件过大,全局异常捕获,客户端没有返回值 (2)https://www.cnblogs.co ...
- springBoot上传文件时MultipartFile报空问题解决方法
springBoot上传文件时MultipartFile报空问题解决方法 参考文章: (1)springBoot上传文件时MultipartFile报空问题解决方法 (2)https://www.cn ...
- 使用Node.js express 开发上传文件/图片api接口
我是傲夫靠斯,欢迎关注我的公众号[前端工程师的自我修养],每天更新. 今天我们来搞一个Node.js Express的上传文件功能,我使用了busboy这个库. Busboy是一个基于事件的文件流解析 ...
- 七牛云 vue 图片上传简单解说,js 上传文件图片
七牛云 vue 图片上传简单解说,js 上传文件图片 一.七牛云简介 首次使用七牛云存储进行项目的图片存储,整了一上午才整明白,这些官方的教程把明白人也给说糊涂了,文档很不规范. 七牛云有免费的使用额 ...
- JAVA上传文件图片到服务器保存
这里我记录一个比较简单方便操作的JAVA上传文件图片到服务器并且保存! 首先是页面 html的 我这是提交一个文件和类型 <div style="border: 1px solid ...
- tp6 接口上传文件/图片报错 fopen(/www/wwwroot/***/public/storage/**failed to open stream: Permission denied
tp6 接口上传文件/图片报错 fopen(/www/wwwroot/***/public/storage/**failed to open stream: Permission denied 这是因 ...
最新文章
- java模拟验证码生成
- ORA-14452的出现原因解析及解决方法
- LeetCode 3. 无重复字符的最长子串(Longest Substring Without Repeating Characters)
- 最简单的基于FFMPEG的Helloworld程序
- 计算机考试考前准备,考前必看如何正确准备计算机等级考试 -电脑资料
- Linux vim编写编译运行一个.c文件(centeos 8 HelloWorld.c)
- pro c 访问 MySQL_Pro*C OCI OCCI 及OCI介绍
- netcore开源框架_Mono和.NET Core 从比翼双飞到合体
- Android利用Filter过滤数据
- 【转载】Understanding When to use RabbitMQ or Apache Kafka
- Multi-View 3D Reconstruction
- [转载] Java8新特性-003-Java8接口中的default修饰符
- 认识电脑键盘附加快捷键
- html背景消除重复,html – CSS背景渐变重复问题
- source insight使用2---设置全选为Ctrl+a
- adobe xd_如何在Adobe XD中创建Finance App UI设计
- 如何高效设计游戏——游戏伤害公式的量身定做
- python分位数回归模型_GitHub - lei940324/Quantile: 介绍分位数回归,包括分位数Granger因果检验、QVAR及脉冲响应函数...
- java 15k_月薪15K的Java工程师必备的十大技能
- 从苏宁电器到卡巴斯基第20篇:曲折考研路(补)