oss对象云存储
import qiniu
import uuid
import config
def qn_upload_voice(fileData):
'''上传语音到七牛云
@arg: fileData - 编码的MP3文件DATA
'''
q = qiniu.Auth(config.qiniu_access_key, config.qiniu_secret_key)
token = q.upload_token(config.qiniu_record_bucket_name, None, 3600, policy={})
key = '%s/uservoice/%s' % (uuid.uuid4().hex+".mp3", filename)
#要进行转码的转码操作。
fops = "avthumb/mp3/ab/320k/ar/44100/acodec/libmp3lame"
saveas_key = qiniu.urlsafe_base64_encode(config.qiniu_record_bucket_name+':'+key) #对转码后的文件进行使用saveas参数自定义命名
pfop = qiniu.PersistentFop(q, config.qiniu_record_bucket_name, 'mpsdemo') #mpsdemo为使用的队列名称
ops = [fops+'|saveas/'+saveas_key]
ret, info = pfop.execute(key, ops, 1)
ret, info = qiniu.put_data(token, key, fileData)
return key
import ffmpeg
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
def tx_upload_voice(fileData):
'''上传语音到腾讯云
@arg: fileData - 编码的MP3文件DATA
'''
out, err = ffmpeg.input('pipe:', format='amr').output('pipe:', format='mp3').run(input=fileData, capture_stdout=True) #ffmpeg 管道 语音转码 mp3
secret_id = config.tencent_secret_id
secret_key = config.tencent_secret_key
region = 'ap-chengdu'
token = None
scheme = 'https'
txconfig = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(txconfig)
filename = uuid.uuid4().hex+".mp3" #客户端对象
result = client.put_object(
Bucket = config.tencent_record_bucket,
Body = fileData,
Key = 'uservoice/%s' % filename,
StorageClass = 'STANDARD',
EnableMD5 = False
)
if not result['ETag']:
raise Exception('上传失败')
else:
return filename
#oss对象统一接口函数
def uploadVoice(fileData):
'''上传语音到云存储
@arg: fileData - 编码的MP3文件DATA
'''
return tx_upload_voice(fileData)
oss对象云存储的更多相关文章
- 【工具-代码】OSS阿里云存储服务-代码实现
上一章节[工具]OSS阿里云存储服务--超级简单--个人还是觉得Fastdfs好玩 https://www.cnblogs.com/Yangbuyi/p/13488323.html 接上一个文章讲解还 ...
- 【工具】OSS阿里云存储服务--超级简单--个人还是觉得Fastdfs好玩
介绍 阿里云对象存储服务(Object Storage Service,简称 OSS)为您提供基于网络的数据存取服务. 使用 OSS,您可以通过网络随时存储和调用包括文本.图片.音频和视频等在内的各种 ...
- springboot集成oss阿里云存储
一.注册阿里云 二.购买OSS 三.创建桶 设定权限,其它默认即可 四.创建目录 点击桶名,进入创建目录即可. 五.开发文档 引入依赖: <dependency> <groupId& ...
- 阿里云OSS图片云存储测试上传
在开发DEMO之前首先要确定 你开发OSS服务并获取了 accessKeyId和accessKeySecret final String key = MD5.Md5(DateFormat.format ...
- 阿里云存储OSS之九大使用技巧
http://www.biphp.com/cloud-computing/%E9%98%BF%E9%87%8C%E4%BA%91%E5%AD%98%E5%82%A8oss%E4%B9%8B%E4%B9 ...
- uniapp - 如何申请阿里云存储
长话短说,简略表述 1. 登录阿里云,选择 oos对象云存储 https://oss.console.aliyun.com/overview 2. 新建“Bucket”,名称是唯一的(建议用公司或者个 ...
- iOS使用阿里云OSS对象存储 (SDK 2.1.1)
最近项目中用到了阿里云OSS对象存储,用来存储APP中图片.音频等一些数据.但坑爹的阿里云居然在11月20日将SDK版本更新到了2.1.1,然而网上给出的教程都是1.*版本的(针对iOS),两个版本所 ...
- 阿里云对象存储OSS与文件存储NAS的区别
一.简介 应用场景:选择一款存储产品,面向文档数据的存取,不会涉及到数据处理. 产品选型主要从OSS和NAS中选择一款,满足文档存储的需求. 二.NAS优缺点 NAS 是一种采用直接与网络介质相连的特 ...
- C# .net Ueditor实现图片上传到阿里云OSS 对象存储
在学习的时候,项目中需要实现在Ueditor编辑器中将图片上传到云储存中,老师演示的是上传到又拍云存储,既然看了一遍,直接照搬不算本事,咱们可以依葫芦画瓢自己来动手玩玩其它的云存储服务. 现在云计算产 ...
随机推荐
- system.net.httpclient 4.0 vs2015
// 加入Cookie foreach (string a in cookieStr.Split(';')) { cookieContainer.Add(new Cookie(a.Split('=') ...
- TensorFlow:检查显卡支持哪个版本的CUDA
最近想学习TensorFlow深度学习编程,然后就开始查这方面的信息. 第0步是安装环境,配置环境. 首先到TensorFlow的官网查看在Windows上安装的条件和步骤. 可以仅仅安装CPU版本的 ...
- python练习题3:N的多次方
N的多次方 描述 编写一个程序,计算输入数字N的0次方到5次方结果,并依次输出这6个结果,输出结果间用空格分隔.其中:N是一个整数或浮点数. print()函数可以同时输出多个信息,采用如下方法可以使 ...
- win10刻录光盘失败,一直显示有准备好写入到光盘中的文件
这是因为前面刻录留下的缓存导致的 解决方法是,删除系统刻录缓存文件 刻录缓存路径大概在以下位置(其中ase那个地方需要修改,改成自己的登录用户账号名即可) C:\Users\ase\AppData\L ...
- Visual Studio安装Visual Assist的办法(兼容VS2010至VS2017)
Visual Assist可以说是一个码代码的高效帮手,有了它,敲起代码速度杠杠的,但是有时候安装破解老是出问题,这一次,我自己尝试了几次,跟着网上的教程做了做,改了改,结合之前安装的经验,最后总算安 ...
- IMDG
将内存作为首要存储介质不是什么新鲜事儿,在对主存的使用上,内存数据网格(In Memory Data Grid,IMDG)与IMDB类似,但二者在架构上完全不同.IMDG特性可以总结为以下几点: 数据 ...
- HashMap与LinkedHashMap的区别
/** * remark: * HashMap与LinkedHashMap的区别 * 这里必须使用LinkedHashMap: * 原因 ...
- Linux shell 重定向学习笔记
在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读 ...
- 动态调用WebService的代理类
using System; using System.Collections; using System.ComponentModel; using System.Data; using System ...
- 一般处理程序获取get,post数据
ashx具体代码: public class GuanWangWC : IHttpHandler { public void ProcessRequest(HttpContext context) { ...