我是靠谱客的博主 专一小熊猫,最近开发中收集的这篇文章主要介绍Springboot整合七牛云springboot整合七牛云公钥私钥存储空间名域名/路径空间里存储的文件名 不需要可以删除,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

springboot整合七牛云

1.当我在做一个简单的后台管理系统时候· 需要制作一个接口来上传自己的图片
为此需要配合springboot整合 七牛云
1.上传工具类 (${qiniu.accessKey}是springboot参数引用 需要在propertis 和yaml中配置) (官方文档中都有需求可以根据实际改)

/**
* 图片上传配置类
*
*/
@Component
public class ImageUtils {
@Value("${qiniu.accessKey}")
private
String accessKey;
//公钥
@Value("${qiniu.secretKey}")
private
String accessSecretKey;
//私钥
@Value("${qiniu.bucketName}")
private
String bucket;
// 存储空间
@Value("${qiniu.imageUrl}")//# 域名/路径
private String url;
/**
* 处理多文件
* @param multipartFiles
* @return
*/
public Map<String, List<String>> uploadImages(MultipartFile[] multipartFiles){
Map<String, List<String>> map = new HashMap<>();
List<String> imageUrls = new ArrayList<>();
for(MultipartFile file : multipartFiles){
imageUrls.add(uploadImageQiniu(file));
}
map.put("imageUrl",imageUrls);
return map;
}
/**
* 上传图片到七牛云
* @param multipartFile
* @return
*/
private String uploadImageQiniu(MultipartFile multipartFile){
try {
//1、获取文件上传的流
byte[] fileBytes = multipartFile.getBytes();
//2、创建日期目录分隔
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
String datePath = dateFormat.format(new Date());
//3、获取文件名
String originalFilename = multipartFile.getOriginalFilename();
String suffix = originalFilename.substring(originalFilename.lastIndexOf("."));
String filename = datePath+"/"+ UUID.randomUUID().toString().replace("-", "")+ suffix;
//4.构造一个带指定 Region 对象的配置类
//Region.南(根据自己的对象空间的地址选
Configuration cfg = new Configuration(Region.huanan());
//后来换了稳定的新加坡的空间并且绑定了个人域名没有做https的配置这时候要配置这个选项
/*
*域名不支持https访问会报错ssl验证error
*cfh.useHttpsDomains=false 关闭实列即可 默认是开启的
*/
UploadManager uploadManager = new UploadManager(cfg);
//5.获取七牛云提供的 token
Auth auth = Auth.create(accessKey, accessSecretKey);
String upToken = auth.uploadToken(bucket);
uploadManager.put(fileBytes,filename,upToken);
return url+filename;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}

2.控制层创建接口

package com.example.yuenandemo1.M1.Controller;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.example.yuenandemo1.M1.Util.ImageUtils;
import com.example.yuenandemo1.M1.common.ResponseResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
@CrossOrigin
@RestController
@RequestMapping("/api")
public class ImageController {
private String msg;
@Autowired
private ImageUtils imageUtils;
@CrossOrigin
@PostMapping("/image/upload")
public String uploadImage(@RequestParam(value = "file",required = false) MultipartFile[] multipartFile){
System.out.println("开始上传");
if(ObjectUtils.isEmpty(multipartFile)){
return msg="上传成功";
}
Map<String, List<String>> uploadImagesUrl = imageUtils.uploadImages(multipartFile);
return msg="上传成功";
}
}

3.前后端分离 前端(elemnt ui 有很多)提交页面 action提交接口地址

<template>
<div>
<el-upload
class="upload-demo"
action="http://localhost:8070/api/image/upload"
:on-preview="handlePreview"
:on-remove="handleRemove"
on-success=""
list-type="picture">
<el-button
type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload></div>
</template>
<script>
export default {
data() {
return {
};
},
methods: {
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePreview(file) {
console.log(file);
}
}
}
</script>
<style scoped>
</style>

4.个人配置文件
freemarker:
suffix: .html
cache: false
servlet:
multipart:
max-file-size: 20MB
max-request-size: 20MB

#七牛云配置

qiniu:

公钥

accessKey: ########################

私钥

secretKey: ########################

存储空间名

bucketName: ########################

域名/路径

path: ########################
#这俩个是同样的
imageUrl ########################

空间里存储的文件名 不需要可以删除

documentName:

最后

以上就是专一小熊猫为你收集整理的Springboot整合七牛云springboot整合七牛云公钥私钥存储空间名域名/路径空间里存储的文件名 不需要可以删除的全部内容,希望文章能够帮你解决Springboot整合七牛云springboot整合七牛云公钥私钥存储空间名域名/路径空间里存储的文件名 不需要可以删除所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部