Java如何上传base64编码图片到七牛云

1 篇文章 0 订阅
1 篇文章 0 订阅

在实际的开发中我们经常需要将图片上传到第三方,因为如果把图片全都存放在项目路径下,会导致项目越来越臃肿,这里我以七牛云为例,讲解一下Java如何将图片上传到七牛云。

首先,我们要先导入pom依赖:

<dependency>
	<groupId>com.qiniu</groupId>
	<artifactId>qiniu-java-sdk</artifactId>
	<version>7.1.1</version>
</dependency>

然后就是Java :
这里需要主义的地方就是域名链接,如果域名链接部队的话是无法上传到你的云空间的,点击这里复制你所在地区的域名链接

import java.io.File;
import java.io.FileInputStream;
import com.qiniu.util.*;
import okhttp3.*;
public class put64 {
    String ak = "";
    String sk = "";    // 密钥配置
    Auth auth = Auth.create(ak, sk);    // TODO Auto-generated constructor stub 
    String bucketname = "";    //空间名
    String key = "";    //上传的图片名
    public String getUpToken() {        
        return auth.uploadToken(bucketname, null, 3600, new StringMap().put("insertOnly", 1));
    }    
    public void put64image() throws Exception {
        String file = "D:\\E\\3a9384fd577f6a9a0acdee0a3b79fb2e.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://up-z1.qiniup.com/putb64/" + l+"/key/"+ UrlSafeBase64.encodeToString(key);      
    	//http://up-z1.qiniup.com是华北地区的域名链接
        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);
    }   
     public static void main(String[] args) throws Exception {   
          new put64().put64image();
    }
}

密钥配置在你七牛云个人中心里的密钥管理里面就可以查看

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值