七牛云介绍
七牛云OSS是一个旨在帮助开发者存储和管理大量图片、视频和其他数据的云存储服务。它以高可用性、高可靠性和低成本的特点受到了广泛欢迎。
全球加速:七牛云OSS在全球范围内部署了多个数据中心,可为用户提供低延迟、高速传输的服务。
安全可靠:七牛云OSS支持数据冗余和多重备份,保障用户数据的安全性和可靠性。
强大的API:七牛云OSS提供了丰富的API接口,使得开发者可以轻松地在应用中集成文件上传、下载、管理等功能。
低成本:七牛云OSS提供灵活的计费方式,用户只需按照实际使用付费。
上传图片步骤
下面是将项目中的图片上传到七牛云OSS的步骤:
1.注册七牛云账号并创建存储空间:
首先,你需要在七牛云官网上注册一个账号,然后创建一个存储空间,用于存放上传的图片。
注册登录自己搞定 https://s.qiniu.com/MRnIfq
创建一个存储空间
空间名称、存储区域、访问控制必填
2.获取访问密钥:
在七牛云控制台中,获取你的访问密钥(AccessKey和SecretKey)。这些密钥将用于授权你的应用访问七牛云OSS。
AK和SK用你自己的,SK一定要保存好
3.引入七牛云Maven依赖:
在你的Maven项目中引入七牛云提供的maven依赖,以便在代码中使用相关功能。
maven依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>qiniu-java-sdk</artifactId>
<version>7.7.0</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
<scope>compile</scope>
</dependency>
</dependencies>
4.实现图片上传逻辑:
使用SDK提供的接口,实现将图片上传到七牛云OSS的存储空间中。这通常涉及到生成上传凭证、调用上传方法等。
package org.example.utils;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.qiniu.common.QiniuException;
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.Region;
import com.qiniu.storage.UploadManager;
import com.qiniu.util.Auth;
public class QiniuyunUtil {
//设置好访问密钥和密钥秘钥,你自己的AK和SK[40位字母]
private static final String ACCESS_KEY = "xxxxxxxxxxxxxxxxxxxxxxxx";
private static final String SECRET_KEY = "xxxxxxxxxxxxxxxxxxxxxxxx";
//空间名称【自己设置的堆名称】
private static final String BUCKET_NAME = "xxxxxxxxxx";
public static String upload(String filename, String filepath){
Configuration cfg = new Configuration(Region.region0());
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
UploadManager uploadManager = new UploadManager(cfg);
StringBuilder stringBuilder = new StringBuilder();
try{
Response response = uploadManager.put(filename, filepath, auth.uploadToken(BUCKET_NAME));
JsonObject jsonObject = new Gson().fromJson(response.bodyString(), JsonObject.class);
String key = jsonObject.get("key").getAsString();
stringBuilder
// 请求协议
.append("https://")
// 临时域名【CDN 测试域名】,换成你自己的
.append("xxxxxx.com/")
// 图片
.append(key);
System.out.println(stringBuilder);
}catch (QiniuException e){
e.printStackTrace();
}
return stringBuilder.toString();
}
}
临时域名用你自己的
5.处理上传结果:
根据上传结果,你可以获取上传后的图片链接,用于在应用中展示或者存储到数据库中。
public static void main(String[] args) {
String filename = "E:\\wellpaper\\蜜璃.jpg";
// 获取后缀.ipg/.png等等
String extension = filename.substring(filename.indexOf("."));
// 构造新文件名称,使用UUID设置图片名称不唯一
String objectName = UUID.randomUUID( ).toString() + extension;
// 设置七牛云中的存储文件路径
String filepath = "upload/"+objectName;
String backPath = upload(filename, filepath);
System.out.println(backPath);
}
上传成功之后,在七牛云的文件管理中查看上传的图片String filepath = "upload/"+objectName;
访问图片步骤
上传成功之后会返回一直请求链接。
可以直接访问
完成!
https://s.qiniu.com/MRnIfq