您好,欢迎访问一九零五行业门户网

七牛云如何上传图片

七牛云上传图片的方法:
1,注册七牛云账号,
2,创建一个存储空间bucket,创建的时候回送一个临时的测试域名,这个等上传工具类要用到 ,有效期30天,
3,写java工具类
public class uploadfile {//...生成上传凭证,然后准备上传 这个是在注册的账户里面有个人中心那里的密钥管理1public static string accesskey = “h9r4vz72diael2plsyxfev39gmuosw99y7wkbqqw”;public static string secretkey = “bwhiwbb7d-lwki2bp2c6wbyrbak3mzmcueoytanv”;// public static string bucket = “vehicle-picture”;//这个是创建的存储空间的名字public static string bucket = “image-a”;//这个就是测试域名 创建的时候一般都会赠送一个测试域名// public static string domainofbucket = “http://qn.vwaiter.cn”;public static string domainofbucket = “pn7fhqast.bkt.clouddn.com”;public static void main(string[] args){geturl(“fpmjfsjwwmdyc-ixjmihwm9xiyt4”);}/** * 上传图片 * @param file * @return */public static string uploadfile(multipartfile file) { //构造一个带指定zone对象的配置类 configuration cfg = new configuration(zone.zone0()); //...其他参数参考类注释 uploadmanager uploadmanager = new uploadmanager(cfg); //默认不指定key的情况下,以文件内容的hash值作为文件名 string filename=null; string key = null; try { logger.getlogger("start>>>>>>>>>>").info("图片上传"); byte[] uploadbytes=file.getbytes(); bytearrayinputstream byteinputstream=new bytearrayinputstream(uploadbytes); auth auth = auth.create(accesskey, secretkey); string uptoken = auth.uploadtoken(bucket); response response = uploadmanager.put(byteinputstream,key,uptoken,null, null); defaultputret putret = new gson().fromjson(response.bodystring(), defaultputret.class); //key为空时默认使用hash值作为key system.out.println(putret.key); system.out.println(putret.hash); filename=putret.hash; logger.getlogger("end>>>>>>>>>>").info("图片上传"); }catch (qiniuexception ex) { response r = ex.response; system.err.println(r.tostring()); } catch (ioexception e) { e.printstacktrace(); } return filename;}/** * 上传图片 * @param bytes 要上传图片的字节流 * @return */public static string uploadfile(byte[] bytes) { //构造一个带指定zone对象的配置类 configuration cfg = new configuration(zone.zone0()); //...其他参数参考类注释 uploadmanager uploadmanager = new uploadmanager(cfg); //默认不指定key的情况下,以文件内容的hash值作为文件名 string filename=null; string key = null; try { logger.getlogger("start>>>>>>>>>>").info("图片上传"); byte[] uploadbytes=bytes; bytearrayinputstream byteinputstream=new bytearrayinputstream(uploadbytes); auth auth = auth.create(accesskey, secretkey); string uptoken = auth.uploadtoken(bucket); response response = uploadmanager.put(byteinputstream,key,uptoken,null, null); defaultputret putret = new gson().fromjson(response.bodystring(), defaultputret.class); //key为空时默认使用hash值作为key system.out.println(putret.key); system.out.println(putret.hash); filename=putret.hash; logger.getlogger("end>>>>>>>>>>").info("图片上传"); }catch (qiniuexception ex) { response r = ex.response; system.err.println(r.tostring()); } catch (ioexception e) { e.printstacktrace(); } return filename;}/** * 字节数组上传 * @return */public static string uploadbyte(byte[] data) { configuration cfg = new configuration(zone.zone0()); uploadmanager uploadmanager = new uploadmanager(cfg); string filename=null; 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(data, key, uptoken); //解析上传成功的结果 defaultputret putret = new gson().fromjson(response.bodystring(), defaultputret.class); system.out.println(putret.key); system.out.println(putret.hash); filename=putret.hash; } catch (qiniuexception ex) { response r = ex.response; system.err.println(r.tostring()); try { system.err.println(r.bodystring()); } catch (qiniuexception ex2) { //ignore } } } catch (unsupportedencodingexception ex) { } return filename;}/** * 生成加签访问url */public static string geturl(string key) { string finalurl=null; string filename = key; string encodedfilename = null; try { encodedfilename = urlencoder.encode(filename, "utf-8"); string publicurl = string.format("%s/%s", domainofbucket, encodedfilename); auth auth = auth.create(accesskey, secretkey); long expireinseconds = 10800;//1小时,可以自定义链接过期时间 finalurl = auth.privatedownloadurl(publicurl, expireinseconds); } catch (unsupportedencodingexception e) { e.printstacktrace(); } system.out.println(finalurl); return finalurl;}/** * 生成加签访问url */public static string geturl1(string key) { string finalurl=null; string filename = key; string encodedfilename = null; try { encodedfilename = urlencoder.encode(filename, "utf-8"); string publicurl = string.format("%s/%s", domainofbucket, encodedfilename); auth auth = auth.create(accesskey, secretkey); long expireinseconds = 10800;//1小时,可以自定义链接过期时间 finalurl = auth.privatedownloadurl(publicurl, expireinseconds); } catch (unsupportedencodingexception e) { e.printstacktrace(); } system.out.println(finalurl); return finalurl;}//删除上传到七牛云的图片public static boolean deleteonqn(string key) throws exception { //密钥配置 try { auth auth = auth.create(accesskey,secretkey); configuration configuration = new configuration(zone.autozone()); bucketmanager bucketmanager = new bucketmanager(auth,configuration); bucketmanager.delete(bucket,key); } catch (qiniuexception e) { e.printstacktrace(); throw e; } return true;}
4,需要的依赖架
<dependency> <groupid>com.qiniu</groupid> <artifactid>qiniu-java-sdk</artifactid> <version>7.2.11</version> <scope>compile</scope></dependency><dependency> <groupid>com.squareup.okhttp3</groupid> <artifactid>okhttp</artifactid> <version>3.3.1</version> <scope>compile</scope></dependency><dependency> <groupid>com.google.code.gson</groupid> <artifactid>gson</artifactid> <version>2.6.2</version> <scope>compile</scope></dependency><dependency> <groupid>com.qiniu</groupid> <artifactid>happy-dns-java</artifactid> <version>0.1.4</version> <scope>compile</scope></dependency><dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>4.12</version> <scope>test</scope></dependency><!--七牛云图片服务器相关依赖结束-->
5,xml里面需要文件上传处理
<!--文件上传处理器 --><bean id="multipartresolver" class="org.springframework.web.multipart.commons.commonsmultipartresolver"><property name="maxuploadsize" value="5000000"/><property name="defaultencoding" value="utf-8"/></bean>
6,写上传接口的controller和service以及serviceimpl,
更多相关技术文章,请访问!
其它类似信息

推荐信息