七牛多文件压缩

公司一个项目,需要用到七牛的多文件压缩功能,看了文档,有点懵,网上查代码,也没找到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

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

时间: 2024-08-02 22:04:33

七牛多文件压缩的相关文章

七牛音视频和大于20M图片的处理

七牛大文件异步操作指南 简介 我想很多客户用到七牛的大文件异步处理的时候,都很头疼.第一:客户不知道什么时候要使用这个操作,第二:客户不知道如何去使用这个操作,第三:客户不知道如何使用才能做到最佳. 一般在下列情况的时候你要考虑到异步处理了 当你的图片超过了20M的时候,我们服务端通常会返回文件too large 的响应信息,这时候要选用异步来处理. 当你需要进行音频和视频转码,以及其他关于音频和视频的操作,例如:水印,视频截图,音频水印,pdf转图片,gif转mp4等等. 当遇到了大文件的镜像

JS实现七牛上传

七牛有js上传的文档和模板,但怒我直言,写得真烂,文档如下 https://developer.qiniu.com/kodo/sdk/1283/javascript 首先要引入三个js文件,plupload.full.min.js,qiniu.min.js,main.js 这些东西要去七牛模板文件里面找,第一个好像是在plupload官网下载,plupload是一个js库 然后复制下面这段代码,改好里面的参数,就能用了 //////////////////////////////////// /

七牛的配置

https://portal.qiniu.com/bucket/ 图片的存储除了上次搭建的fastdfs分布系统可用,还可以借助七牛云这个平台.我们进入七牛云并实名认证后,他就会每月免费提供10G的存储空间,供开发这测试使用. 下面讲解下如何使用js.python来实现在七牛云上的图片存储.可以参考文档SDK. 一.获取关键参数 获取AK.SK 在七牛云平台实名认证后,我们需要进入个人中心,点击密钥管理,并将AK和SK这两个值复制保存好,因为在后面django搭建七牛云时会用到. 创建存储空间

PKPJIB七牛文件上传管理

圭拉镗夯後 PKPJIB七牛文件上传管理

从七牛服务下载PDF文件

/** * 从七牛下载PDF文件 * @param request * @param response * @param exhiId * @throws MalformedURLException */ @RequestMapping("/loadCanZhanHan") public void downloadNet(HttpServletRequest request, HttpServletResponse response,String exhiId) throws Malf

PHPcms使用七牛存储图片文件

不知道现在有多少人使用第三方云存储,我反正是在云存储一出来就开始快速使用了.因为第三方云存储的优势太大了.无论是自己开发,还是使用现成的cms,通过第三方云存储都可以达到减轻服务器压力,更多的个性化功能,更高的安全性,更快的速度. 我开始用云存储是自己开发的网站,是一个音乐外链的网站.可以快速的实现大量文件快速上传,下载.现在使用phpcms做资讯跟下载类网站同样非常适用.可以将所有的图片跟文件资源放到第三方云存储上面.第三方云存储我最开始用的是又拍云,后面一直用的是七牛. phpcms是一款非

七牛文件批量上传之自定义NSOperation

前言: 前阵子遇到七牛文件批量上传的问题,尝试了几种方案,现分享一种目前采用的方案--自定义operation. 为什么要自己实现七牛文件的批量上传 在使用七牛云存储服务的过程中,想要在手机客户端进行图片.视频等文件的上传,只需要直接引入SDK,然后使用QiniuSDK即可.对于iOS端的上传特别简单,只需要使用pod引入SDK: pod "Qiniu", "~> 7.0" 然后 #import <QiniuSDK.h> ... NSString

七牛整合php上传从微信下载接口下载下来的文件

因为ios系统直接读取不了MP3格式的文件,所以从微信接口下载下来的MP3格式音频上传到七牛后要转码. Sample code: public function doMobileUploadToQiniu() {global $_GPC,$_W;$hd=$_GPC['hd'];$weid=$_W['weid'];$from_user = $_GPC['from_user'];$media_id = $_GPC['voiceServerId'];$access_key = 'xxxxxxxxxxx

七牛上传同名文件为什么没有报错解答

有很多七牛的新用户,会遇到这样一个问题,上传代码中指定了scope为 scope="bucketname" 但是上传一个同样的文件,文件名字也一样,文件的key也一样的文件,没有报已经存在同名资源则会失败的消息. 问题解答 七牛只有在同名文件,不同文件资源的时候才会报614状态码,也就是文件资源已经存在的消息.否则同样会返回200状态码,和hash,key.