首页 > 其他分享 >七牛云使用

七牛云使用

时间:2023-07-04 15:11:43浏览次数:38  
标签:observable const qiniu key 使用 七牛云 上传

视频托管平台

我们图片,视频不在放在media中,因为影响服务器性能
# 存储视频,图片,文件
  1 meida
    2 第三方
    	- 七牛云 ====》空间存储
        - 阿里云 ====》桶存储
        -其他
    3 自己搭建
    	-ceph(重),minio,fastdfs\
        FastDFS:https://zhuanlan.zhihu.com/p/372286804
        
#使用七牛云投管
	'''
	上传文件流程
			-前段选择视频----》上传到后端-----》后端把视频上传到七牛云---》返回地址---》后端存储到数据库
			
			-前段使用js---->上传到七牛云——————》七牛云返回地址-----》前段向后端发送ajax请求,把视频地址发送到后端----》后端存储到数据库
	
	'''

Python使用七牛云

from qiniu import Auth, put_file

q = Auth('', '')
#要上传的空间
bucket_name = "文件名"
#上传后保存的文件名
key = "文件名"
#生成上传 Token,可以指定过期时间等
token = q.upload_token(bucket_name, key, 3600)
#要上传文件的本地路径
localfile = './1.mp4'
ret, info = put_file(token, key, localfile, version='v2')
#ret, info = put_data(token, key, files)直接上传内容
print(info)
print(ret)
print('域名'+key)




生成时间戳防盗链

from qiniu.services.cdn.manager import create_timestamp_anti_leech_url
import time

host = 'http://a.example.com'

# 配置时间戳时指定的key
encrypt_key = ''

# 资源路径
file_name = 'a/b/c/example.jpeg'

# 查询字符串,不需要加?
query_string = ''

# 截止日期的时间戳,秒为单位,3600为当前时间一小时之后过期
deadline = int(time.time())+3600


timestamp_url = create_timestamp_anti_leech_url(host, file_name, query_string, encrypt_key, deadline)

print(timestamp_url)

vue使用七牛云

安装

npm install qiniu-js

导入

const qiniu = require('qiniu-js')
// or
import * as qiniu from 'qiniu-js'

使用

#qiniu.upload 返回一个 observable 对象用来控制上传行为,observable 对像通过 subscribe 方法可以被 observer 所订阅,订阅同时会开始触发上传,同时返回一个 subscription 对象,该对象有一个 unsubscribe 方法取消订阅,同时终止上传行为



文件上传
const observable = qiniu.upload(file, key, token, putExtra, config)
const subscription = observable.subscribe(observer) // 上传开始
// or
const subscription = observable.subscribe(next, error, complete) // 这样传参形式也可以
subscription.unsubscribe() // 上传取消

图片上传前压缩

const options = {
  quality: 0.92,
  noCompressIfLarger: true
  // maxWidth: 1000,
  // maxHeight: 618
}
qiniu.compressImage(file, options).then(data => {
  const observable = qiniu.upload(data.dist, key, token, putExtra, config)
  const subscription = observable.subscribe(observer) // 上传开始
})

其他详见--》https://developer.qiniu.com/kodo/1283/javascript

标签:observable,const,qiniu,key,使用,七牛云,上传
From: https://www.cnblogs.com/liyuanxiangls/p/17525805.html

相关文章

  • pycharm使用技巧
    pycharm使用技巧基础设置:代码补全自动排版功能Ctrl+鼠标滚轮更改字号代码补全:自动排版功能Ctrl+鼠标滚轮更改字号  快捷键1变量搜索:Ctrl+f变量替换:Ctrl+r自动排版:Ctrl+Shift+Alt+L向右缩进一个制表符:Tab向左缩进一个制表符:Tab+Shift批量注释:C......
  • Qt qBreakPad使用(windows)
    一、介绍Googlebreakpad是一个跨平台的崩溃转储和分析框架和工具集合。而且BreakPad本来就是为了解决C、C++异常捕获而开发的。BreakPad支持跨平台,很容易在Qt项目中使用,使跨平台的应用实现跨平台异常捕获。这里介绍一下qBreakPad的使用。二、编译步骤1、下载qBreakPad源码......
  • java爬虫如何使用动态代理ip
      在进行网络爬虫开发时,使用动态IP代理是保护自己的隐私、绕过访问限制和提高爬虫稳定性的重要技术。下面呢是一个简单的Java爬虫动态IP代理教程,用来帮助大家实现动态切换IP地址。1.寻找可靠的代理服务提供商 在开始之前,您需要找到一个可靠的代理服务提供商,他们将提供动态I......
  • 类和函数的使用
    本质上来说,类和函数是将一部分代码从原本的代码中抽取出来,定义为代码块。一方面,是基于代码块和层次调用,增强代码逻辑。尽量聚焦和定义核心的业务流程,具体的业务代码之后由类或函数实现。另一方面,是为了方便复用代码,又分为有状态和无状态。关于有状态,又分为临时和持久,临时状态依......
  • java使用枚举消除 if/else
    有这样一个判断场景。if("dog".equals(animalType)){System.out.println("吃骨头");}elseif("cat".equals(animalType)){System.out.println("吃鱼干");}elseif("sheep"){System.out.println("吃草");......
  • 振弦采集仪在岩土工程安全监测使用的解决方案
    振弦采集仪在岩土工程安全监测使用的解决方案振弦采集仪是一种岩土工程安全监测仪器,主要用于监测建筑物、桥梁、隧道、地铁等工程结构的动态响应,以及岩土体的振动情况。其工作原理是通过振弦传感器采集结构或岩土体的振动信号,再通过数据采集系统进行处理和分析,得出结构或岩土体动......
  • 振弦采集仪在岩土工程安全监测使用的解决方案
    振弦采集仪在岩土工程安全监测使用的解决方案振弦采集仪是一种岩土工程安全监测仪器,主要用于监测建筑物、桥梁、隧道、地铁等工程结构的动态响应,以及岩土体的振动情况。其工作原理是通过振弦传感器采集结构或岩土体的振动信号,再通过数据采集系统进行处理和分析,得出结构或岩土体动......
  • 如易云平台使用
    使用开发流程      在线使用如易云,请参看文章:如易云解密2-自动生成代码。建议在代码生成前将自己的模型建立完整(因为目前如易云对于增量模型的支持还不是很好),下载生成的代码即可正常运行!【注意,默认生成的页面仅仅是对单表数据的维护,不涉及关联属性维护】   ......
  • 吐血整理!可免费使用的国产良心软件分享,几乎满足你办公需求
    在这个信息化时代,软件已经成为我们办公和生活的必备工具。然而,市面上的大部分国产软件都需要付费才能使用,给我们的经济负担增加了不少。幸运的是,国内有一些良心软件,它们质量上乘,功能强大,几乎满足了我们的办公需求,而且还可以免费使用,接下来为大家分享。 Excel工具箱——方方格子......
  • 可视化容器管理工具-portainer.io使用
    续docker日常使用指南背景当我们开始使用docker后,我们的机器上镜像和容器会越来越多,或者有时候我们有多台开发机的时候,单纯使用命令行去管理镜像和容器就变得麻烦了,这时,我们就可以选择一些可视化的容器管理工具来保护我们为数不多的头发了。portainer.io就是这方面的一个不错的......