七牛云-上传策略之数据处理
来源:互联网 发布:个人可以开淘宝网店吗 编辑:程序博客网 时间:2024/06/07 11:16
概述
继上一篇文章 七牛云-上传策略常用示例 介绍了七牛上传策略中的常见的使用场景,本文主要介绍如何使用上传策略实现在文件上传成功后自动调用七牛提供的数据处理接口,进行数据处理操作。
使用示例
视频文字水印示例:
使用上传策略中的persistentOps 指定数据处理的接口和相关的参数,persistentPipeline 指定私有队列 进行数据处理, 避免在公有队列排队等候较长时间,提升效率; 程序如下:
/** * 测试七牛上传后,自动进行数据处理操作,并另存处理后的文件 * @param bucket 存储空间 * @param domain 存储空间所对应的域名 * @param file 上传文件 */ public static void testFops(String bucket, String domain, File file) { //通过AK,SK创建Auth 对象 Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY); Configuration cfg = new Configuration(Zone.zone0()); //上传对象 UploadManager uploadMgr = new UploadManager(cfg); //私有队列 String pipeline = "av-pipeline"; //水印文字 String wmText = UrlSafeBase64.encodeToString("Word For Test"); //水印文字的颜色 String wmFontColor = UrlSafeBase64.encodeToString("#FFFF00"); //设置avthumb 接口 StringBuffer ops = new StringBuffer(""); ops.append("avthumb/mp4/wmText/" + wmText +"/wmGravityText/NorthEast/wmFontColor/" + wmFontColor); String saveAs = UrlSafeBase64.encodeToString(bucket + ":" + "new_" + file.getName()); //通过管道符 "|" 拼接 saveas 接口, 保存 数据处理后的视频 ops.append("|saveas/" + saveAs); //saveas 接口 需要签名 sign String sign = domain + "/" + file.getName() + "?" + ops.toString(); String encodeSign = UrlSafeBase64.encodeToString(sign); ops.append("/sign/" + encodeSign); //指定 数据处理 的 上传策略, 当文件上传成功后,自定执行数据处理操作,即:ops 的接口,图片加水印,另存为 new_file.getName(); StringMap putPolicy = new StringMap(); putPolicy.put("persistentOps", ops.toString()) //数据处理接口及参数 .put("persistentPipeline", pipeline); //私有数据处理队列 //获取上传凭证, 包含上传策略 String uploadToken = auth.uploadToken(bucket, file.getName(), 3600, putPolicy); try { //上传 Response resp = uploadMgr.put(file, file.getName(), uploadToken); //查看结果 System.out.println(resp.statusCode + ":" + resp.bodyString()); } catch (QiniuException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
关于 程序中 调用的avthumb 接口, 可查看七牛的开发者中心说明文档, 链接:https://developer.qiniu.com/dora/manual/1248/audio-and-video-transcoding-avthumb
结果
执行该方法返回的信息:
200:{"hash":"lkneQF5h-knbumUja8ztwZ_9vtOV","key":"mayun.mp4","persistentId":"z0.5991c5ab45a2650c99ca08b7"}
通过persistentId 可以查看数据处理结果, 地址:
http://api.qiniu.com/status/get/prefop?id=z0.5991c5ab45a2650c99ca08b7
返回结果
{"code": 0,"desc": "The fop was completed successfully","id": "z0.5991c5ab45a2650c99ca08b7","inputBucket": "test-bucket","inputKey": "mayun.mp4","items": [{"cmd": "avthumb/mp4/wmText/V29yZCBGb3IgVGVzdA==/wmGravityText/NorthEast/wmFontColor/I0ZGRkYwMA==/wmFontSize/2|saveas/dGVzdC1idWNrZXQ6bmV3X21heXVuLm1wNA==/sign/dGVzdC56aGFvamlhbmZlbmcuY24vbWF5dW4ubXA0P2F2dGh1bWIvbXA0L3dtVGV4dC9WMjl5WkNCR2IzSWdWR1Z6ZEE9PS93bUdyYXZpdHlUZXh0L05vcnRoRWFzdC93bUZvbnRDb2xvci9JMFpHUmtZd01BPT0vd21Gb250U2l6ZS8yfHNhdmVhcy9kR1Z6ZEMxaWRXTnJaWFE2Ym1WM1gyMWhlWFZ1TG0xd05BPT0=","code": 0,"desc": "The fop was completed successfully","hash": "lnpwZdWVdtP40j7aWRD7VcfkUln0","key": "new_mayun.mp4","returnOld": 0}],"pipeline": "1381151735.av-pipeline","reqid": "sQkAAC8PjH_swNoU"}
空间内容管理查看
阅读全文
1 0
- 七牛云-上传策略之数据处理
- 七牛云-上传策略常用示例
- ASP.NET之上传文件管理策略
- ASP.NET之上传文件管理策略
- Struts2数据处理与上传
- 数据处理----Java数据处理之RMI
- nginx tomcat负载均衡之文件上传访问策略
- nginx tomcat负载均衡之文件上传访问策略
- nginx tomcat负载均衡之文件上传访问策略及缓存策略
- 分而治之策略及大数据处理实例讲解
- 上传文件存储策略
- 数据处理---Java数据处理之序列化
- 数据处理---Java数据处理之消息队列
- sql 之数据处理
- 海量数据处理之Bitmap
- 海量数据处理之Bitmap
- 数据交互之数据处理
- 大数据处理之bitmap
- 二:数据结构
- C# WebClient 多文件上传实现
- bzoj2119 股市的预测(SA+lcp)
- boost库文档地址
- HDU
- 七牛云-上传策略之数据处理
- WebService快速入门
- google-gperftools分析代码时间分布
- spark的性能优化的方式
- 小白学tkinter(Menu组件(菜单))
- 构建微服务:Spring boot 入门篇
- 《Linux命令行大全》学习笔记(一)
- 学生成绩管理系统
- 直接插入排序和希尔排序