运用 Java 代码实现从本地上传图片到七牛云,并通过七牛云提供的临时域名访问图片。
https://www.qiniu.com
链接:https://pan.baidu.com/s/1FhgtfdWbv7SRh-2HFhO06g
提取码:dj2i
新建模块,如下图:
选择 Maven,点击 Next,如下图:
填入项目信息,创建项目,如下图:
访问七牛云官网,注册账号并实名认证(具体步骤此处省略),入口如下图:
点击产品,选择对象存储,如下图:
新建存储空间,如下图:
创建存储空间成功后,如下图:
选择用户菜单下的密钥管理,如下图:
查看密钥(密钥后面需要用到),如下图:
访问七牛云主页选择 SDK&工具
下的官方 SDK,如下图:
这里,我们选择 Java,如下图所示:
查看官方提供的配置文件,如下图:
配置项目 pom 文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.haicoder</groupId>
<artifactId>qiniu_demo</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!--七牛云依赖-->
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>qiniu-java-sdk</artifactId>
<version>[7.2.0,7.2.99]</version>
</dependency>
<!--谷歌gson-->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
</dependency>
</dependencies>
</project>
package net.haicoder.test;
import com.google.gson.Gson;
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.storage.model.DefaultPutRet;
import com.qiniu.util.Auth;
public class UploadFile {
public static void main(String[] args){
// 配置类
Configuration cfg = new Configuration(Region.region0());
UploadManager uploadManager = new UploadManager(cfg);
// 上传凭证
String accessKey = "此处输入您的accessKey";
String secretKey = "此处输入您的secretKey";
// 空间名称
String bucket = "haicoder";
// 图片地址
String localFilePath = "d:/img/java.png";
// 图片上传后名称
String key = "java.png";
Auth auth = Auth.create(accessKey, secretKey);
String upToken = auth.uploadToken(bucket);
try {
Response response = uploadManager.put(localFilePath, key, upToken);
// 解析上传成功的结果
DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
System.out.println("嗨客网(www.haicoder.net)\n");
System.out.println(putRet.key);
System.out.println(putRet.hash);
} catch (QiniuException ex) {
Response r = ex.response;
System.err.println(r.toString());
try {
System.err.println(r.bodyString());
} catch (QiniuException ex2) {
ex2.printStackTrace();
}
}
}
}
执行上传代码前,需要确保本地路径存在图片,如下图:
执行 UploadFile 类,运行结果如下:
上传成功后,到七牛云复制图片外链,如下图:
访问图片,如下图:
以上案例实现了从本地上传图片到七牛云,并通过七牛云提供的临时域名访问图片。