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. 【Jest】笔记二:Matchers匹配器

    一.前言 什么是匹配器? 我们可以把匹配器看成,testng断言,这么理解就可以了 二.常用的匹配器 test('two plus two is four', () => { expect(2 ...

  2. Tenka 1 Computer Contest C-Align

    C - Align Time limit : 2sec / Memory limit : 1024MB Score : 400 points Problem Statement You are giv ...

  3. CF559C Gerald and Giant Chess

    题意 C. Gerald and Giant Chess time limit per test 2 seconds memory limit per test 256 megabytes input ...

  4. lua 匹配空白符

    lua 支持的所有字符类: .     任意字符%s 空白符 空白字符一般包括空格.换行符\n.制表符\t以及回到行首符\r%p 标点字符%c 控制字符%d 数字%x 十六进制数字%z 代表0的字符% ...

  5. Python map,filter,reduce函数

    # -*- coding:utf-8 -*- #定义一个自己的map函数list_list = [1,2,4,8,16] def my_map(func,iterable): my_list = [] ...

  6. 教你如何下载并破解IAR

    最近参加项目要写STM8的工程的,所以用到IAR,所以就自己安装了一次然后写个心得. 因为我用到的是STM8,所以我就下载了STM8的,不过其他过程都一样的. 首先去到IAR SYSTEMS的官网,找 ...

  7. [UE4]Spline Mesh Actor

    作用: 1.按照Spline设置的轨迹,进行显示网格物体. 曲线模型 一.赋值Static Mesh,任意的Static Mesh都可以. 二.调整方向 三.Spline Mesh Actor有2个端 ...

  8. c# datatable按主键合并相同主键返回新的datatable

    一.概述: 在python转c#时,python中pandas.merge可以按主键合并两个datatable,苦苦找了很久,希望c#也有同样的函数,未果,就自己写了一个,目前测试没问题,同样我也考虑 ...

  9. 搭建Mock Server

    1.为什么要搭建mock-server? 为了更好的分工合作,让前端能在不依赖后端环境的情况下进行开发,其中一种手段就是为前端开发者提供一个 web 容器,这个本地环境就是 mock-server. ...

  10. webservice之jax-rs实现方式

    1.什么叫restful风格 restful是一组架构约束条件和原则,满足这些约束条件和原则的应用程序即是restful风格. 2.jax-rs实现步骤 1.创建一个简单应用(略) 2.添加依赖jar ...