搭建SpringBoot框架
pom.xml 引入依赖
<!-- 七牛云上传图片 -->
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>qiniu-java-sdk</artifactId>
<version>[7.2.0, 7.2.99]</version>
</dependency>
<!-- 七牛云前台上传图片 需要引入SDK-->
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>qiniu-java-sdk</artifactId>
<version>7.2.6</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.3.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.6.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>happy-dns-java</artifactId>
<version>0.1.4</version>
<scope>compile</scope>
</dependency>
3.注册七牛云的账户 获取 ak sk
点击 “管理控制台”
然后点击 “个人中心”
然后 点击“密钥管理 ” 就可以看到 ak sk 了
4.申请对象存储空间 存储空间名 下边要用到
5.引入上传后台代码工具类
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import com.qiniu.util.Auth;
import com.qiniu.util.Base64;
import com.qiniu.util.StringMap;
import com.qiniu.util.UrlSafeBase64;
import com.sun.glass.ui.View;
import okhttp3.*;
// ---------------------七牛云-------------------
public class Put64 {
// 获取七牛云的 uptoken
public static String getUpToken() {
String ak = "";//第三步 获得的七牛云的ak
String sk = ""; // 第三步 获得的七牛云的sk
Auth auth = Auth.create(ak, sk); // TODO Auto-generated constructor stub
String bucketname = ""; //第四部 自己申请的存储对象空间名 空间名
return auth.uploadToken(bucketname, null, 3600, new StringMap().put("insertOnly", 1));
}
//上传 本地上传
@SuppressWarnings("resource") //传入路径
public Response put64image(String key) throws Exception {
String file = "E:\\GIF动画文件\\2.jpg";//本地图片路径
FileInputStream fis = null;
int l = (int) (new File(file).length());
byte[] src = new byte[l];
fis = new FileInputStream(new File(file));
fis.read(src);
String file64 = Base64.encodeToString(src, 0);
String url = "http://upload.qiniup.com/putb64/" + l+"/key/"+ UrlSafeBase64.encodeToString(key);
//非华东空间需要根据注意事项 1 修改上传域名
RequestBody rb = RequestBody.create(null, file64);
Request request = new Request.Builder().
url(url).
addHeader("Content-Type", "application/octet-stream")
.addHeader("Authorization", "UpToken " + getUpToken())
.post(rb).build();
System.out.println(request.headers());
OkHttpClient client = new OkHttpClient();
okhttp3.Response response = client.newCall(request).execute();
System.out.println(response);
return response;
}
//下载图片
public void clickDown(View view) {
}
//删除
public Response deleteqiniu(String key){
//获取Auth对象
String ak = "";
String sk = ""; // 密钥配置
Auth auth = Auth.create(ak, sk);
//指定需要删除的空间和文件,格式为: <bucket>:<key>
String entry = ""+key;
//通过安全base64编码方式进行编码处理
String encodedEntryURI = UrlSafeBase64.encodeToString(entry);
//指定接口
String target = "/delete/" + encodedEntryURI + "\n";
//获取token,即操作凭证
String access_token = auth.sign(target);
//指定好请求的delete接口地址
String url = "http://rs.qiniu.com/delete/" + encodedEntryURI;
//通过Okhttp jar 包封装的对象 发起网络请求
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url(url)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.addHeader("Authorization", "QBox " + access_token).build();
Response re = null;
try {
re = client.newCall(request).execute();
return re;
} catch (IOException e) {
e.printStackTrace();
}
return re;
}
public static void main(String[] args) throws Exception {
//调用上传
String key="twoCo.png";
Put64 p=new Put64();
Response r=p.put64image(key);
System.out.println(r);
// Response{protocol=http/1.1, code=200, message=OK, url=http://upload.qiniup.com/putb64/214466/key/YXNk}
//测试删除
/*Put64 p=new Put64();
Response re=p.deleteqiniu("hh");
System.out.println(re);
System.out.println("输出结果"+re.code());*/
// System.out.println( getUpToken());
}
}
如有缺少 请留言
版权声明:本文为qq_42754347原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。