首页 >后端开发 >php教程 > 正文

怎么解决七牛云图片url上传的问题

原创2020-10-22 14:31:430591

解决七牛云图片url上传问题的方法:

七牛云图片url上传

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

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

首先找一个项目引入七牛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());
    }
}

更多相关技术知识,请访问PHP中文网

以上就是怎么解决七牛云图片url上传的问题的详细内容,更多请关注php学习网其它相关文章!

phpStudy Linux 面板(小皮面板)
  • 相关标签:七牛云存储
  • 本文原创发布php学习网,转载请注明出处,感谢您的尊重!
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息

    php学习网

    认证0级讲师

    推荐视频教程
  • javascript初级视频教程javascript初级视频教程
  • jquery 基础视频教程jquery 基础视频教程
  • 视频教程分类