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对象云存储的更多相关文章

  1. 【工具-代码】OSS阿里云存储服务-代码实现

    上一章节[工具]OSS阿里云存储服务--超级简单--个人还是觉得Fastdfs好玩 https://www.cnblogs.com/Yangbuyi/p/13488323.html 接上一个文章讲解还 ...

  2. 【工具】OSS阿里云存储服务--超级简单--个人还是觉得Fastdfs好玩

    介绍 阿里云对象存储服务(Object Storage Service,简称 OSS)为您提供基于网络的数据存取服务. 使用 OSS,您可以通过网络随时存储和调用包括文本.图片.音频和视频等在内的各种 ...

  3. springboot集成oss阿里云存储

    一.注册阿里云 二.购买OSS 三.创建桶 设定权限,其它默认即可 四.创建目录 点击桶名,进入创建目录即可. 五.开发文档 引入依赖: <dependency> <groupId& ...

  4. 阿里云OSS图片云存储测试上传

    在开发DEMO之前首先要确定 你开发OSS服务并获取了 accessKeyId和accessKeySecret final String key = MD5.Md5(DateFormat.format ...

  5. 阿里云存储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 ...

  6. uniapp - 如何申请阿里云存储

    长话短说,简略表述 1. 登录阿里云,选择 oos对象云存储 https://oss.console.aliyun.com/overview 2. 新建“Bucket”,名称是唯一的(建议用公司或者个 ...

  7. iOS使用阿里云OSS对象存储 (SDK 2.1.1)

    最近项目中用到了阿里云OSS对象存储,用来存储APP中图片.音频等一些数据.但坑爹的阿里云居然在11月20日将SDK版本更新到了2.1.1,然而网上给出的教程都是1.*版本的(针对iOS),两个版本所 ...

  8. 阿里云对象存储OSS与文件存储NAS的区别

    一.简介 应用场景:选择一款存储产品,面向文档数据的存取,不会涉及到数据处理. 产品选型主要从OSS和NAS中选择一款,满足文档存储的需求. 二.NAS优缺点 NAS 是一种采用直接与网络介质相连的特 ...

  9. C# .net Ueditor实现图片上传到阿里云OSS 对象存储

    在学习的时候,项目中需要实现在Ueditor编辑器中将图片上传到云储存中,老师演示的是上传到又拍云存储,既然看了一遍,直接照搬不算本事,咱们可以依葫芦画瓢自己来动手玩玩其它的云存储服务. 现在云计算产 ...

随机推荐

  1. Python读取和写入Excel文件

    制作Excel表 常用方法说明 Workbook类 Workbook类创建一个XlswWrite的Workbook对象,相当于创建一个excel表 And_worksheet()用来创建工作表,默认为 ...

  2. 1.使用脚本控制模型的移动 --《Unity 3D 游戏开发》笔记

    由于最新版的unity已经不支持javascript语言啦,本人又是个C#小白,所以记录一下自己写的脚本. first 创建一个模型,放在平面上,调整下角度,就像这样: 然后写一个脚本来控制模型移动: ...

  3. 福利之——如何写好年终总结PPT

    撰写年终总结PPT大致分三个步骤(TDR三部曲): 第一步:确定大纲(THINK) 第二步:优化PPT(DESIGN) 第三步:练习演讲(REHEARSE) 让领导看见你的成绩,听明白你未来的‘宏伟计 ...

  4. 【javaScript基础】异常处理

             理解异常在javaScript面向对象编程是非常重要的,异常是一种非常强大的处理错误的方式. 错误处理          首先我们来看一个有问题的代码: nonexistant(); ...

  5. 《我的嵌入式开发》---- IIC 通信

    IIC 通用文件,文件是在NRF51xx 芯片基础,keil 平台开发测试通过,后期修改为STM32F2xx系列的配置. 文件百度云盘链接 : https://pan.baidu.com/s/1AFx ...

  6. docker 限制container容器使用内存大小,不限制swap

    docker update --memory 20g --memory-swap -1 96b14c546d98 参考:https://my.oschina.net/Kanonpy/blog/2209 ...

  7. 收藏品:MP3播放器

    大三下学期的时候,有一段生活激情似火. 那时候,我在外边接了项目,把宿舍的哥们儿都组织了起来,一起开发赚钱.我们在小区里租了房子,又多借了一台电脑,哥几个轮流上阵写代码.准备考研的兄弟也帮手做饭,我和 ...

  8. 服务器对接码云webhooks

    服务安装git php代码(外网必须可以访问) <?php //本地路径滚adminasdfdasfasdf $file = "/wwwroot/webhooksLog.txt&quo ...

  9. Oracle查看表空间

    知道表空间名,显示该表空间包括的所有表. select * from all_tables where tablespace_name='表空间名' 知道表名,查看该表属于那个表空间 select t ...

  10. 【C++】如何接收函数return返回来的数组元素

    转自 https://www.cnblogs.com/Wade-James/p/7965775.html 我们知道return语句作为被调用函数的结束,返回给调用者函数值.一般来说,是返回一个函数值, ...