七牛 java_七牛云图片存储---Java

packageorg.zyu.utils;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importcom.google.gson.Gson;importcom.qiniu.common.QiniuException;importcom.qiniu.common.Zone;importcom.qiniu.http.Response;importcom.qiniu.storage.Configuration;importcom.qiniu.storage.UploadManager;importcom.qiniu.storage.model.DefaultPutRet;importcom.qiniu.util.Auth;importcom.qiniu.util.Base64;importcom.qiniu.util.StringMap;importcom.qiniu.util.UrlSafeBase64;importokhttp3.OkHttpClient;importokhttp3.Request;importokhttp3.RequestBody;public classQiniuCloudUtil {//设置需要操作的账号的AK和SK

private static final String ACCESS_KEY = "";private static final String SECRET_KEY = "";//要上传的空间

private static final String bucketname = "image";//密钥

private static final Auth auth =Auth.create(ACCESS_KEY, SECRET_KEY);//普通上传

public void upload(String filePath, String fileName) throwsIOException {

Configuration cfg= new Configuration(Zone.zone0()); //zong1() 代表华北地区

UploadManager uploadManager = newUploadManager(cfg);

Auth auth=Auth.create(ACCESS_KEY, SECRET_KEY);

String upToken=auth.uploadToken(bucketname);try{

Response response=uploadManager.put(filePath, fileName, upToken);//解析上传成功的结果

DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);

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) {//ignore

}

}

}//base64方式上传

public void put64image(String filePath, String fileName) throwsException {

FileInputStream fis= null;int l = (int) (newFile(filePath).length());byte[] src = new byte[l];

fis= new FileInputStream(newFile(filePath));

fis.read(src);

String file64= Base64.encodeToString(src, 0);

String url= "http://upload.qiniu.com/putb64/" + l + "/key/" +UrlSafeBase64.encodeToString(fileName);

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= newOkHttpClient();

okhttp3.Response response=client.newCall(request).execute();

System.out.println(response);

}publicString getUpToken() {return auth.uploadToken(bucketname, null, 3600, new StringMap().put("insertOnly", 1));

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值