码迷,mamicode.com
首页 > 其他好文 > 详细

七牛多文件压缩

时间:2018-07-13 20:21:14      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:一个   存在   highlight   class   ring   save   str   bool   下载文件   

公司一个项目,需要用到七牛的多文件压缩功能,看了文档,有点懵,网上查代码,也没找到C#相关的,最后提了工单,在工程师的帮助下解决了这个问题。

            Mac mac = new Mac(AK, SK);
            Config config = new Config();
            OperationManager operationManager = new OperationManager(mac, config);
            //tmpImgUrl是在七牛已经存在的图片地址,后面是随机的一个图片名称,压缩包用的。
            string fops = "mkzip/2/url/" + Base64.UrlSafeBase64Encode(tmpImgUrl) + "/alias/" + Base64.UrlSafeBase64Encode(getRandomName());
            fops += "\n/url/" + Base64.UrlSafeBase64Encode(tmpImgUrl2) + "/alias/" + Base64.UrlSafeBase64Encode(getRandomName());
            fops += "\n/url/" + Base64.UrlSafeBase64Encode(tmpImgUrl3) + "/alias/" + Base64.UrlSafeBase64Encode(getRandomName());
            fops += "|saveas/" + Base64.UrlSafeBase64Encode(bucket + ":abc/down6.zip");//这里abc是设定下载文件的目录,down6是下载文件名称
            // 私有隊列名
            string pipeline = null;
            string notifyUrl = "http://api.example.com/qiniu/pfop/notify";//这是压缩成功的一个回调方法,我不需要使用,可以设置为空。

            // 文件名
            string key = "2018/07/12/1722443513";//这个比较坑,必须给一个目录已经存在的地址,随便给一个都行,这是pfop接口规格的强制要求
            // 当服务端发现 fops 指定的数据处理结果已经存在,那就认为已经处理成功,避免重复处理浪费资源。加上本字段并设为 1,则可强制执行数据处理并覆盖原结果。
            bool force = true;
            PfopResult pfopRet = operationManager.Pfop(bucket, key, fops, pipeline, notifyUrl, force);
            if (pfopRet.Code != (int)HttpCode.OK)//200表示成功,否则就看报错信息
            {
                Console.WriteLine("pfop error: " + pfopRet.ToString());
            }

另外,七牛提供的最新nuget包没有.net core的,所以这又是一个比较尴尬的事情。

现在这个是基于七牛的nuget包7.3.1.1

七牛多文件压缩

标签:一个   存在   highlight   class   ring   save   str   bool   下载文件   

原文地址:https://www.cnblogs.com/xiaoquangege/p/9306819.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!