本文共 5072 字,大约阅读时间需要 16 分钟。
@Test public void haha() { //构造一个带指定 Region 对象的配置类 Configuration cfg = new Configuration(Region.region2());//...其他参数参考类注释 UploadManager uploadManager = new UploadManager(cfg);//...生成上传凭证,然后准备上传 String accessKey = "your key"; String secretKey = " you decret"; String bucket = "your 空间名字";//默认不指定key的情况下,以文件内容的hash值作为文件名 String key = null; try { byte[] uploadBytes = "hello qiniu cloud".getBytes("utf-8"); Auth auth = Auth.create(accessKey, secretKey); String upToken = auth.uploadToken(bucket); try { Response response = uploadManager.put(uploadBytes, key, upToken); //解析上传成功的结果 DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class); System.out.println(putRet.key); System.out.println(putRet.hash); } catch (QiniuException ex) { Response r = ex.response; System.err.println(r.toString()); try { System.err.println(r.bodyString()); } catch (QiniuException ex2) { //ignore System.out.println(ex2); } } } catch (UnsupportedEncodingException ex) { //ignore System.out.println(ex); } }
导 包
com.google.code.gson gson 2.8.5 compile com.squareup.okhttp3 okhttp 3.14.4 com.alibaba fastjson 1.2.67 com.qiniu happy-dns-java 0.1.6 test com.qiniu qiniu-java-sdk [7.2.0, 7.2.99]
注意点:
//构造一个带指定Zone对象的配置类 Configuration cfg = new Configuration(Zone.zone0());//Zone.zone0() 指华东 Configuration cfg = new Configuration(Zone.zone1());//华北 Configuration cfg = new Configuration(Zone.zone2());//华南
上传本地文件并且生成外链:
private String path = "C:\\Users\\ASUS\\Desktop\\课表.jpg"; @Test public void haha() { //构造一个带指定 Region 对象的配置类 Configuration cfg = new Configuration(Region.region2());//...其他参数参考类注释 UploadManager uploadManager = new UploadManager(cfg);//...生成上传凭证,然后准备上传 String accessKey = "yours key"; String secretKey = "yours key"; String bucket = "ywf";//默认不指定key的情况下,以文件内容的hash值作为文件名 String key = null; try { Auth auth = Auth.create(accessKey, secretKey); String upToken = auth.uploadToken(bucket); try { Response response = uploadManager.put(path, key, upToken); //解析上传成功的结果 DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class); System.out.println(putRet.key); System.out.println(putRet.hash); } catch (QiniuException ex) { Response r = ex.response; System.err.println(r.toString()); try { System.err.println(r.bodyString()); } catch (QiniuException ex2) { //ignore System.out.println(ex2); } } } catch (UnsupportedEncodingException ex) { //ignore System.out.println(ex); } }
图片服务器 会给你一个域名,将 域名+ ret.hash 就是图片的访问外链了。
@Override public String saveImageWithPath(MultipartFile file) { if(!checkSize(file)) { return "ERROR"; } Configuration cfg = new Configuration(Region.region0());//华东的仓库//...其他参数参考类注释 UploadManager uploadManager = new UploadManager(cfg); String key = null; Auth auth = Auth.create(accessKey, secretKey); String upToken = auth.uploadToken(buckName); String result=null; try { Response response = uploadManager.put(file.getBytes(), key, upToken); //解析上传成功的结果 DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class); // System.out.println(putRet.key); // System.out.println(putRet.hash); log.info(putRet.key); result = putRet.hash; } catch (QiniuException ex) { Response r = ex.response; log.error(r.toString()); try { log.error(r.bodyString()); } catch (QiniuException ex2) { //ignore log.error(String.valueOf(ex2)); } } catch (IOException e) { log.error(e.getMessage()); } //图片路径: 域名+'/'+ 具体的hash值 return prefix+'/'+result; }
转载地址:http://mauzi.baihongyu.com/