NOS向开发者提供了nos-js-sdk的开源代码。基于此SDK,开发者可以直接将文件上传至NOS(需先获取服务端Token)。
该项目则是站在业务层的角度,对该SDK进行较为通用性的封装。
- 通用性较低
- 代码重复度高
- 不支持Promise,回调层级较多
- 额外引入了jquery
- 支持Promise
- 获取Url更加方便
- 无需额外引入jquery
- 错误提示更加人性化
- 上传前的文件检查
- 更通用的uploader配置
// 1、Import the Constructor from nos-uploader
import NosUpLoader from 'nos-uploader'
// 2、New an instance of NosUpLoader
this.uploader = new NosUpLoader(file, nosParam)
// 3、Fetch the file-url by its fulfilled-return of Promise
this.uploader.fetchFileUrl().then(url => {
// The use of file-url
// ...
})
new NosUpLoader(file, nosParam)
-
file
- 类型:
Object
- 描述:用户在input框(type='file')中选中的文件
- 类型:
-
nosParam
- 类型:
Object
- 描述:实例化nos-uploader所需参数
- 对象内属性:
- bucketName
- 类型:
String
- 桶名:对象存储的容器名(从后端获取)
- 类型:
- objectName
- 类型:
String
- 文件名:用户上传的文件对象名称(从后端获取)
- 类型:
- token
- 类型:
String
- 上传凭证:用户上传到NOS的凭证(从后端获取)
- 类型:
- bucketName
- 类型:
this.uploader.fetch().then(checks => {
// The use of file-url
let url = checks[2]
})
- url
- 类型:
String
- 描述:NOS上传成功后返回的Url
- 类型:
-
v0.1.0 —— 2019-03-21
-
v0.1.1 —— 2019-03-22
The code is distributed under the MIT license