【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

对象存储 JavaScript SDK 更新,即刻体验更简单·可信赖的服务

  • 2019-10-05
  • 本文字数:1474 字

    阅读完需:约 5 分钟

对象存储 JavaScript SDK 更新,即刻体验更简单·可信赖的服务

JavaScript 是一个通用的、跨平台、中立于厂商的脚本语言,起源于用户对于浏览器交互体验的旺盛需求。随着互联网的发展和进步,JavaScript 的版本也持续迭代提供了越来越丰富的功能,不断提升用户的体验。

更好的 JavaScript SDK

在 H5 File API 出现之前,前端对于文件的操作是非常有局限性的,往往要依赖 flash 去处理文件操作,大多需要配合后端实现。出于安全角度考虑,从本地上传文件时,代码不可能获取文件在用户本地的地址,所以纯前端不可能完成一些类似图片预览的功能。


我们的旧版 JavaScript SDK 便是受当时历史环境所限,只是勉强能堪一用,用户体验不佳的问题一直是我们研发小哥的遗憾。一直致力于给用户提供简单、可信赖服务的我们,希望用户对 SDK 工具的感受也是易用高效的。自然,随着 H5 File API 技术日趋成熟,经过内部讨论充分验证后我们便第一时间将 JavaScript SDK 升级迭代。并已于近日发布,


【更新信息如下:】


  • 基于原生浏览器 API,轻便:


适用于 :IE11、Edge、Chrome、Firefox、Safari 等浏览器,基于七牛云官方 API 构建,其中上传功能基于 H5 File API。开发者基于 JS-SDK 可以方便的从浏览器端上传文件至七牛云,并对上传成功后的图片进行丰富的数据处理操作。


  • API 简单清晰:


我们借鉴了 RxJS 的接口设计模式,新 SDK 的接口非常简单,用户可以直接在 config 和 putExtra 里来进行相应的参数设置,我们把上传与所接收的参数分开而不是像老版的全部放到一坨,这样子层次也比较清晰。



  • 并发控制:


旧版 SDK 在分片上传的时候是同步串行的,其他片必须等前面片上传成功才能接着上传,这其实浪费了时间并且降低了浏览器的资源利用;于是在新版 SDK 中我们在分片上传优化成并发,并且加入了并发控制,**用户可以通过 config.thread 来设置并发请求数量。**实现最大并发量只取决于用户所使用的浏览器自身限制。


  • md5 校验:


新版 SDK 提供了 md5 校验,用户不用担心文件在未上传成功情况下被修改而导致最后生成错误文件,用户可以通过 config.checkByMD5 来设置 md5 校验是否开启。


  • 组合 API 搭配第三方插件实现对老浏览器的兼容:


JS-SDK 兼容支持 H5 File API 的浏览器,在低版本浏览器下,需要额外的插件如 plupload,JS-SDK 提供了一些接口可以结合插件来进行上传工作。我们在新版 SDK 中把插件的引用剥离了出去,对于需要兼容低版本浏览器的用户,可以自己引用插件,并结合新版 SDK 提供的接口进行开发。


  • 对图像处理的优化:


SDK 提供了如水印、缩略、旋转等图像处理接口,并在旧版的基础上用 promise 优化了原来的异步请求接口。大家可以访问 http://jssdk-v2.demo.qiniu.io/ 来体验我们的 demo 。


e.g. 上传图片并进行图片处理的效果如下:


即刻使用

新版 JavaScript SDK 目前支持多种几种安装方式,用户可以根据自己的开发习惯自由选择:

1.直接使用静态文件地址:

https://unpkg.com/qiniu-js@/dist/qiniu.min.js


通过 sctipt 标签引入该文件,会在全局生成名为 qiniu 的对象。

2.使用 NPM 安装

NPM 的全称是 Node Package Manager,是一个 NodeJS 包管理和分发工具,现今已成为非官方发布 Node 模块(包)的标准。如需更详细的关于 NPM 的使用说明,您可以访问 NPM 官方网站,或对应的中文网站。


npm install qiniu-js
复制代码


var qiniu = require("qiniu.js")// orimport * as qiniu from "qiniu-js"
复制代码

3.通过源码编译

git clone git@github.com:qiniu/js-sdk.git,进入项目根目录执行 npm install ,执行 npm run build,即可在 dist 目录生成 qiniu.min.js。


本文转载自公众号七牛云(ID:qiniutek)。


原文链接:


https://mp.weixin.qq.com/s/GIg_7QfTQU-22s0svXa21w


2019-10-05 21:58595

评论

发布
暂无评论
发现更多内容

测试人生 | 40+的年龄50W+的年薪,2线城市入职名企,他曾想放弃测试?

霍格沃兹测试开发学社

Drug X跨越鸿沟:一个生物科学家的新药研发跋涉记

脑极体

测试人生 | 毕业2年未满,0经验拿下知名互联网企业30W 年薪,他是怎么做到的?

霍格沃兹测试开发学社

uni-app黑马优购项目学习记录(二)

海底烧烤店ai

JavaScript 小程序 前端 9月月更

英特尔与 AMD 谁更强?

雨果

英特尔 AMD

OceanBase本周活动|从0到1数据库内核实战教程;对话ACE第五期;Meetup广州站

OceanBase 数据库

PC端小程序引擎,或许不就未来能解决桌面应用兼容性

Speedoooo

小程序 桌面开发 桌面端 桌面应用

测试人生 | 为了娃的奶粉钱,测试媛妈妈拿出考研的拼劲,半年终圆大厂梦!

霍格沃兹测试开发学社

安全419《高级威胁检测与响应解决方案》系列访谈——未来智安(XDR SEC)篇

未来智安XDR SEC

网络安全 威胁检测 XDR扩展威胁检测响应

OSCS开源安全周报第11期:本月微软补丁日修复 vscode 漏洞,请开发者留意自己使用的 vscode 是否受该漏洞影响

墨菲安全

golang vscode 开源安全 软件供应链安全

把收藏力拉满,前端 50 个优质 Web 在线资源~

掘金安东尼

前端 9月月更

在线帮助中心-帮助客户更快上手使用你的产品

Baklib

帮助文档

JS-内置对象API-Array(数组)-(一)-改变原数组的API-篇

Sam9029

JavaScript 前端 9月月更

测试人生 | 专科学历入职世界500强企业,二线城市年薪超30W,这个80后小哥哥很赞!

霍格沃兹测试开发学社

测试人生 | 二线城市涨薪近10万 ,还能955,这样的机会你想不想要?

霍格沃兹测试开发学社

教你如何一分钟内玩过《羊了个羊》| 傻瓜式操作,包教包会

bug菌

9月月更 羊了个羊 微信小程序-游戏

云渲染和传统渲染农场有什么区别?

Renderbus瑞云渲染农场

云渲染 云渲染农场 渲染农场 Renderbus瑞云渲染

FinOps能力成熟度模型启动,灵雀云助力云原生降本增效标准制定

York

云计算 云原生 能力成熟度模型 降本增效 FinOps

[SSM]前后台协议联调②

十八岁讨厌编程

Java 后端开发 9月月更

[Javaweb]JSON

十八岁讨厌编程

javaWeb 后端开发 9月月更

【微信小程序】——Mobx全局数据共享和分包

海底烧烤店ai

微信小程序 前端 JavaScrip 9月月更

上海交通大学OpenHarmony技术俱乐部正式揭牌成立

Geek_2d6073

跟着卷卷龙一起学Camera--Demosaic

卷卷龙

ISP 9月月更

OceanBase 数据库内核实战赛「推荐官」招募令发布,让身边的优秀选手C位出道!

OceanBase 数据库

讲讲 SaaS 平台的多租户怎么设计

产品海豚湾

产品经理 多租户 产品设计与思考 SaaS平台 9月月更

测试人生 | 97年双非学历的小哥哥,2线城市涨薪100%,我酸了......

霍格沃兹测试开发学社

测试人生 | 三十而立终圆大厂梦,测试开发开启新征程

霍格沃兹测试开发学社

构建开放、智能的企业数字化转型2.0平台,加速运营商创新升级

鲸品堂

IT 运营商

ESP32-C3入门教程 基础篇(一、ADC采样)

矜辰所致

ESP32-C3 9月月更 ADC采样

【JavaScript】巩固JS开发中十个常用功能/案例(1-10)

海底烧烤店ai

算法 前端 JavaScrip 9月月更

[SSM]前后台协议联调①

十八岁讨厌编程

Java 后端开发 9月月更

对象存储 JavaScript SDK 更新,即刻体验更简单·可信赖的服务_文化 & 方法_七牛云_InfoQ精选文章