Heim >Backend-Entwicklung >PHP-Tutorial >怎么解决七牛云图片url上传的问题

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

PHPz
PHPzOriginal
2016-06-06 20:31:043181Durchsuche

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

解决七牛云图片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中文网

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn