文章图片的存储是用七牛云来做外链的,先把账号注册好
大致的步骤如下:
1 登录后,去控制台,创建对象存储,创建成功会分配一个域名,这个在上传的时候有用
存储空间名称随便取,存储区域选择华东,不然后面上传会出错,访问控制默认就行
2 直接写代码就可以实现了,我用的是java,这是java的上传文件文档,https://developer.qiniu.com/kodo/sdk/1239/java
代码大致如下:
public Map qniyunFileupload(byte[] bytes) {
Map result = new HashMap<>();
String url = null;
boolean isSuccess=false;
//构造一个带指定Zone对象的配置类
Configuration cfg = new Configuration(Zone.zone0());
//...其他参数参考类注释
UploadManager uploadManager = new UploadManager(cfg);
//...生成上传凭证,然后准备上传 下面是我的一些密钥
String accessKey = "xxxxxxxx";
String secretKey = "xxxxxxx";
String bucket = "picture";
//默认不指定key的情况下,以文件内容的hash值作为文件名
String key = null;
//以字节形式上传到服务器
byte[] uploadBytes = bytes;
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);
url=BASE_URL+"/"+putRet.key;
//上传成功
result.put("error", 0);
result.put("url", url);
return result;
//System.out.println(putRet.hash);
} catch (QiniuException ex) {
//上传失败
Response r = ex.response;
System.err.println(r.toString());
result.put("error", 1);
result.put("message", "上传失败!!");
return result;
}
}
这三个参数的值是需要自己给的:
String accessKey = "xxxxxxxx";
String secretKey = "xxxxxxx";
String bucket = "picture";
前面两个在个人中心可以获得,最后一个要上传到的哪个对象存储空间,也就是对象存储空间的名字,
还有要获得上传文件的地址也就是
url=BASE_URL+"/"+putRet.key;
BASE_URL是前面分配域名,后面的是上传成功后七牛云返回的路径,拼起来就是完整的url
,这个代码只需要一个字节数组参数,字节数组获得就是表单了,如果用springmvc的multipartFile对象就可以获得,当然也可以是其他参数,
比如输入流等等,这些代码在文档中都可以找到
这大概就是上传的过程了
忘了说:免费的有限制,好像容量有10个g对于小网站,存点图片什么的还是可以把