讲话存储的幂上传——七牛云

  • 概述: 
    当地文件修改,然后用挂在七牛存储空间原本都是的文件,那么这要用七牛提供的覆盖上污染;

  • 问题: 
    什么样实现,以及贯彻思路?

  • 思路: 
    1.七牛提供上传策略,指定scope为< bucketName> : < key> 
    即可兑现覆盖上传,如图: 
    图片 1 
    七牛提供关于上传策略的印证文档链接如下: 
    http://developer.qiniu.com/article/developer/security/put-policy.html

    2.本七牛的开支规范,获取Auth——-》获取token——》执行覆盖上传的事情逻辑——》查看结果

  • 以身作则如下:(注:当前动的是qiniu-Java-sdk-7.2.1.jar)

    1 package com.qiniu.kodo;
    2
    3 import com.qiniu.base.AccountMgr;
    4 import com.qiniu.common.QiniuException;
    5 import com.qiniu.common.Zone;
    6 import com.qiniu.http.Response;
    7 import com.qiniu.storage.Configuration;
    8 import com.qiniu.storage.UploadManager;
    9 import com.qiniu.util.Auth;
    10 import com.qiniu.util.StringMap;
    11
    12 /
    13 七牛:覆盖上传
    14

    15 @author xuhuanchao
    16

    17 */
    18 public class OverrideUpload {
    19
    20 //获取授权对象
    21 Auth auth = Auth.create(AccountMgr.ACCESS_KEY, AccountMgr.SECRET_KEY);
    22
    23 //第一种植办法: 指定具体的要高达污染之zone
    24 //注:该具体指定的方同以下自动识别的法选择那个平就是可
    25 //要达标污染之空间(bucket)的积存区域啊华东时
    26 // Zone z = Zone.zone0();
    27 //要达污染之空中(bucket)的存储区域为华北时
    28 // Zone z = Zone.zone1();
    29 //要达到污染之半空中(bucket)的积存区域也华南时
    30 // Zone z = Zone.zone2();
    31
    32 //第二栽办法: 自动识别要高达传的半空中(bucket)的蕴藏区域是华东、华北、华南。
    33 Zone zone = Zone.autoZone();
    34
    35 Configuration config = new Configuration(zone);
    36 UploadManager uploadManager = new UploadManager(config);
    37
    38 /

    39 获取凭证
    40
    @param bucketName
    41 空间名称
    42
    @return
    43 /
    44 public String getUpToken(String bucketName, String key) {
    45 //insertOnly 如果欲只能上传指定key的文本,并且不同意修改,那么可以下的 insertOnly 属性值设为 1
    46 return auth.uploadToken(bucketName, key, 3600, new StringMap().put(“insertOnly”, 0));
    47 }
    48
    49 /**
    50
    覆盖上传
    51 @param path
    52
    上传文书路径
    53 @param bucketName
    54
    空间名
    55 @param key
    56
    文件名
    57 /
    58 public void overrideUpload(String path, String bucketName, String key) {
    59 try {
    60 String token = getUpToken(bucketName, key);//获取 token
    61 Response response = uploadManager.put(path, key, token);//执行上传,通过token来分辨 该上传是“覆盖上污染”
    62 System.out.println(response.toString());
    63 } catch (QiniuException e) {
    64 System.out.println(e.response.statusCode);
    65 e.printStackTrace();
    66 }
    67 }
    68
    69 /**
    70
    主函数:测试
    71
    72
    @param args
    73 */
    74 public static void main(String[] args) {
    75 // 上传文书的路,因为于Mac下,所以路径和windows下殊
    76 String filePath = “/Users/xuhuanchao/Documents/admin/mind/imgs/admin_3.jpg”;
    77 // 要达成污染之空中
    78 String bucketName = “java-bucket”;
    79 // 上传出七牛后保存之公文名
    80 String key = “admin_3.jpg”;
    81
    82 new OverrideUpload().overrideUpload(filePath, bucketName, key);
    83 }
    84
    85 }

 

相关文章