七牛云存储____图片转Base64串上传

来源:互联网 发布:js发送ajax请求 编辑:程序博客网 时间:2024/04/30 08:00
package com.scdn.qnscdn;/** * 七牛常理配置 *  * @author God 待整理好配到config文件里 * ACCESSKEY 这是我个人申请的一个测试的号 everyone can useing it * SECRETKEY  */public class QnConstant {// 设置好账号的ACCESS_KEY和SECRET_KEYpublic static final String ACCESSKEY = "1o90vmY9OmRcueIeIeFBID6q2uy8peFiFBxpnM78"; // 账号里面可以找到public static final String SECRETKEY = "uapfWvebSlf6q8SebsJMrhzk4rudBciHQFIOnwj_";// 要上传的空间 对应要上传到七牛上 你的那个路径(自己建文件夹 注意设置公开)public static final String BUCKET_TEST = "test"; }


package com.scdn.qnscdn;import java.awt.image.BufferedImage;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.util.UUID;import org.apache.commons.codec.binary.Base64;import org.apache.http.HttpResponse;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.util.EntityUtils;import com.qiniu.storage.BucketManager;import com.qiniu.storage.UploadManager;import com.qiniu.util.Auth;/** * @author Administrator 七牛图片操作工具类 */public class QnUtil {// 授权验证public static Auth auth = Auth.create(QnConstant.ACCESSKEY, QnConstant.SECRETKEY);// 定义变量public static UploadManager uploadManager = null;public static BucketManager bucketManager = null;public static String accesskey = null;public static String secretkey = null;public static String bucket_test = null;// 令牌验证public static String token = null;// 初始化配置static {accesskey = QnConstant.ACCESSKEY;secretkey = QnConstant.SECRETKEY;bucket_test = QnConstant.BUCKET_TEST;uploadManager = new UploadManager();bucketManager = new BucketManager(auth);}/** * 根据空间名获取token 获取test空间的token *  * @param bucket * @return */public static String getToken(String bucket) {return token = auth.uploadToken(bucket);}/** * 七牛SDK_图片转base64串上传 * @param file * @param key * @throws Exception */public static void putb64(String file,String key) throws Exception {FileInputStream fis = null;try {int l = (int) (new File(file).length());byte[] src = new byte[l];fis = new FileInputStream(new File(file));fis.read(src);String file64 = Base64.encodeBase64String(src);String url = "http://up.qiniu.com/putb64/-1/key/"+Base64.encodeBase64String((key+".jpg").getBytes());HttpPost post = new HttpPost(url);post.addHeader("Content-Type", "application/octet-stream");post.addHeader("Authorization", "UpToken " + QnUtil.getToken(bucket_test));post.setEntity(new StringEntity(file64));CloseableHttpClient httpclient = HttpClients.createDefault();HttpResponse res = httpclient.execute(post);String responseBody = EntityUtils.toString(res.getEntity(), "UTF-8");System.out.println(responseBody);if (fis != null) {fis.close();}} catch (Exception e) {e.printStackTrace();}}public static void main(String[] args) {String file="D:\\abc.jpg";try {putb64(file, UUID.randomUUID().toString());} catch (Exception e) {e.printStackTrace();}}}


//涉及的jar包
                                             
0 0
原创粉丝点击