美文网首页
七牛云图片url上传

七牛云图片url上传

作者: 我还是老油条 | 来源:发表于2020-01-03 15:38 被阅读0次

项目中用到要把非自家源的图片转换为自家源的图片的问题,想通过七牛云解决,对着七牛云开发文档看了很久也没啥眉目,

最后因为公司与七牛有合作,所以找到七牛的大佬才得以解决,下面是解决方案:

首先找一个项目引入七牛sdk 链接:https://developer.qiniu.com/kodo/sdk/1239/java

然后  将下面代码复制到 main方法中,修改 ACCESS_KEY   SECRET_KEY   bucketname  为自己的 

即可运行,控制台输出的就是图片名称(这名称就是key的值  我是自定义的当前时间加上三位随机数,前面是你的域名)

//参考api文档https://developer.qiniu.com/kodo/api/4097/asynch-fetch

//设置好账号的ACCESS_KEY和SECRET_KEY

String  oldUrl ="http://r3.ykimg.com/050C0000525611A967583907F10CA01F";

String[]  newUrl =oldUrl.split(";");

System.out.println(newUrl.length);

for (int i=0;i

Random  random =new Random();

    StringACCESS_KEY="your accessKey";

    StringSECRET_KEY="your secretKey";

    //要上传的空间

    String bucketname ="your bucketName";

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

    // 构造post请求body

    Gson gson =new Gson();

    Map m =new HashMap();

    m.put("url", newUrl[i]);

    m.put("bucket", bucketname);

    m.put("key", +System.currentTimeMillis()+random.nextInt(100)+".jpg");

    System.out.println("https://域名/"+m.get("key"));

    StringparaR= gson.toJson(m);

    byte[] bodyByte = paraR.getBytes();

    String url ="http://api-z0.qiniu.com/sisyphus/fetch";

    String accessToken = (String) auth.authorizationV2(url, "POST", bodyByte, "application/json")

.get("Authorization");

    Client client =new Client();

    StringMap headers =new StringMap();

    headers.put("Authorization", accessToken);

    try {

com.qiniu.http.Response resp = client.post(url, bodyByte, headers, Client.JsonMime);

    }catch (Exception e) {

throw new Exception(e.getMessage());

    }

}

相关文章

网友评论

      本文标题:七牛云图片url上传

      本文链接:https://www.haomeiwen.com/subject/oowzoctx.html