@@ -88,7 +88,7 @@ Qiniu-JavaScript-SDK 的示例 [Demo](http://jssdk-v2.demo.qiniu.io) 中的服
88
88
npm install qiniu-js
89
89
```
90
90
``` Javascript
91
- var qiniu = require (' qiniu-js' )
91
+ const qiniu = require (' qiniu-js' )
92
92
// or
93
93
import * as qiniu from ' qiniu-js'
94
94
```
@@ -109,31 +109,31 @@ Qiniu-JavaScript-SDK 的示例 [Demo](http://jssdk-v2.demo.qiniu.io) 中的服
109
109
110
110
``` JavaScript
111
111
112
- var observable = qiniu .upload (file, key, token, putExtra, config)
112
+ const observable = qiniu .upload (file, key, token, putExtra, config)
113
113
114
- var subscription = observable .subscribe (observer) // 上传开始
114
+ const subscription = observable .subscribe (observer) // 上传开始
115
115
// or
116
- var subscription = observable .subscribe (next, error, complete) // 这样传参形式也可以
116
+ const subscription = observable .subscribe (next, error, complete) // 这样传参形式也可以
117
117
118
118
subscription .unsubscribe () // 上传取消
119
119
```
120
120
图片上传前压缩:
121
121
122
122
``` JavaScript
123
- let options = {
123
+ const options = {
124
124
quality: 0.92 ,
125
125
noCompressIfLarger: true
126
126
// maxWidth: 1000,
127
127
// maxHeight: 618
128
128
}
129
129
qiniu .compressImage (file, options).then (data => {
130
- var observable = qiniu .upload (data .dist , key, token, putExtra, config)
131
- var subscription = observable .subscribe (observer) // 上传开始
130
+ const observable = qiniu .upload (data .dist , key, token, putExtra, config)
131
+ const subscription = observable .subscribe (observer) // 上传开始
132
132
})
133
133
```
134
134
## API Reference Interface
135
135
136
- ### qiniu.upload(file: blob , key: string, token: string, putExtra: object, config: object): observable
136
+ ### qiniu.upload(file: File , key: string, token: string, putExtra: object, config: object): observable
137
137
138
138
* ** observable** : 为一个带有 subscribe 方法的类实例
139
139
@@ -142,7 +142,7 @@ qiniu.compressImage(file, options).then(data => {
142
142
* observer: ` observer ` 为一个 ` object ` ,用来设置上传过程的监听函数,有三个属性 ` next ` 、` error ` 、` complete ` :
143
143
144
144
``` JavaScript
145
- var observer = {
145
+ const observer = {
146
146
next (res ){
147
147
// ...
148
148
},
@@ -169,13 +169,13 @@ qiniu.compressImage(file, options).then(data => {
169
169
170
170
* subscription: 为一个带有 ` unsubscribe` 方法的类实例,通过调用 ` subscription.unsubscribe()` 停止当前文件上传。
171
171
172
- * ** file** : ` Blob ` 对象,上传的文件
172
+ * ** file** : ` File ` 对象,上传的文件
173
173
* ** key** : 文件资源名
174
174
* ** token** : 上传验证信息,前端通过接口请求后端获得
175
175
* ** config** : ` object`
176
176
177
177
` ` ` JavaScript
178
- var config = {
178
+ const config = {
179
179
useCdnDomain: true,
180
180
region: qiniu.region.z2
181
181
};
@@ -193,33 +193,33 @@ qiniu.compressImage(file, options).then(data => {
193
193
* ** putExtra** :
194
194
195
195
` ` ` JavaScript
196
- var putExtra = {
196
+ const putExtra = {
197
197
fname: "",
198
198
params: {},
199
199
mimeType: [] || null
200
200
};
201
201
` ` `
202
202
203
203
* fname: ` string` ,文件原文件名
204
- * params: ` object` ,用来放置自定义变量,自定义变量格式请参考 [文档](https: // developer.qiniu.com/kodo/manual/1235/vars)
204
+ * params: ` object` ,用来放置自定义变量,变量名必须以 ` x: ` 开始,自定义变量格式及说明请参考 [文档](https: // developer.qiniu.com/kodo/manual/1235/vars)
205
205
* mimeType: ` null || array` ,用来限制上传文件类型,为 ` null` 时表示不对文件类型限制;限制类型放到数组里:
206
206
` ["image/png", "image/jpeg", "image/gif"]`
207
207
208
- ### qiniu .createMkFileUrl (url: string, size : number , key: string, putExtra: object): string
208
+ ### qiniu .createMkFileUrl (url: string, file : File , key: string, putExtra: object): string
209
209
210
210
返回创建文件的 url;当分片上传时,我们需要把分片返回的 ctx 信息拼接后通过该 url 上传给七牛以创建文件。
211
211
212
212
* ** url** : 上传域名,可以通过qiniu .getUploadUrl ()获得
213
- * ** size ** : 文件大小
213
+ * ** file ** : 文件对象
214
214
* ** key** : 文件资源名
215
215
* ** putExtra** : 同上
216
216
217
217
` ` ` JavaScript
218
- var requestUrl = qiniu.createMkFileUrl(
219
- uploadUrl,
220
- file.size ,
221
- key,
222
- putExtra
218
+ const requestUrl = qiniu.createMkFileUrl(
219
+ uploadUrl,
220
+ file,
221
+ key,
222
+ putExtra
223
223
);
224
224
` ` `
225
225
@@ -245,68 +245,70 @@ qiniu.compressImage(file, options).then(data => {
245
245
* ** token** : 后端返回的上传验证信息
246
246
247
247
` ` ` JavaScript
248
- var headers = qiniu.getHeadersForChunkUpload(token)
248
+ const headers = qiniu.getHeadersForChunkUpload(token)
249
249
` ` `
250
250
251
251
### qiniu .getHeadersForMkFile (token: string): object
252
252
253
253
返回 ` object` ,包含用来获得文件创建的头信息,参数为 ` token` 字符串;当分片上传完需要把 ctx 信息传给七牛用来创建文件时,请求需要带该函数返回的头信息
254
254
255
255
` ` ` JavaScript
256
- var headers = qiniu.getHeadersForMkFile(token)
256
+ const headers = qiniu.getHeadersForMkFile(token)
257
257
` ` `
258
258
259
- ### qiniu .getResumeUploadedSize (file: blob ): number
259
+ ### qiniu .getResumeUploadedSize (file: File ): number
260
260
断点续传时返回文件之前已上传的字节数,为 0 代表当前并无该文件的断点信息
261
261
262
262
### qiniu .filterParams (params: object): array
263
263
264
264
返回[[k, v],... ]格式的数组,k 为自定义变量 ` key` 名,v 为自定义变量值,用来提取 ` putExtra.params` 包含的自定义变量
265
265
266
266
` ` ` JavaScript
267
- var customVarList = qiniu.filterParams(putExtra.params)
267
+ const customVarList = qiniu.filterParams(putExtra.params)
268
268
269
- for (var i = 0; i < customVarList.length; i++) {
270
- var k = customVarList[i]
269
+ for (let i = 0; i < customVarList.length; i++) {
270
+ const k = customVarList[i]
271
271
multipart_params_obj[k[0]] = k[1]
272
272
}
273
273
` ` `
274
- ### qiniu .compressImage (file: blob, options: object) : Promise (上传前图片压缩)
274
+ ###
275
+ ### qiniu .compressImage (file: File , options: object) : Promise (上传前图片压缩)
275
276
276
277
` ` ` JavaScript
277
- var imgLink = qiniu.compressImage(file, options).then(res => {
278
+ const imgLink = qiniu.compressImage(file, options).then(res => {
278
279
// res : {
279
- // dist: 压缩后输出的 blob 对象,或原始的 file,具体看下面的 options 配置
280
+ // dist: 压缩后输出的 File 对象,或原始的 file,具体看下面的 options 配置
280
281
// width: 压缩后的图片宽度
281
282
// height: 压缩后的图片高度
282
283
// }
283
284
}
284
285
})
285
286
` ` `
286
- * file: 要压缩的源图片,为 ` blob ` 对象,支持 ` image/png` 、` image/jpeg` 、` image/bmp` 、` image/webp` 这几种图片类型
287
+ * file: 要压缩的源图片,为 ` File ` 对象,支持 ` image/png` 、` image/jpeg` 、` image/bmp` 、` image/webp` 这几种图片类型
287
288
* options: ` object`
288
289
* options .quality : ` number` ,图片压缩质量,在图片格式为 ` image/jpeg` 或 ` image/webp` 的情况下生效,其他格式不会生效,可以从 0 到 1 的区间内选择图片的质量。默认值 0.92
289
290
* options .maxWidh : ` number` ,压缩图片的最大宽度值
290
291
* options .maxHeight : ` number` ,压缩图片的最大高度值
291
292
(注意:当 ` maxWidth` 和 ` maxHeight` 都不设置时,则采用原图尺寸大小)
292
293
* options .noCompressIfLarger : ` boolean` ,为 ` true` 时如果发现压缩后图片大小比原来还大,则返回源图片(即输出的 dist 直接返回了输入的 file);默认 ` false` ,即保证图片尺寸符合要求,但不保证压缩后的图片体积一定变小
293
294
294
- ### qiniu .watermark (options: object, key: string, domain: string): string(水印)
295
+ ### qiniu .watermark (options: object, key? : string, domain? : string): string(水印)
295
296
296
297
返回添加水印后的图片地址
297
298
* ** key** : 文件资源名
298
299
* ** domain** : 为七牛空间(bucket)对应的域名,选择某个空间后,可通过" 空间设置->基本设置->域名设置" 查看获取,前端可以通过接口请求后端得到
299
300
301
+
300
302
` ` ` JavaScript
301
303
302
- var imgLink = qiniu.watermark({
304
+ const imgLink = qiniu.watermark({
303
305
mode: 1, // 图片水印
304
306
image: 'http://www.b1.qiniudn.com/images/logo-2.png', // 图片水印的Url,mode = 1 时 **必需**
305
307
dissolve: 50, // 透明度,取值范围1-100,非必需,下同
306
308
gravity: 'SouthWest', // 水印位置,为以下参数[NorthWest、North、NorthEast、West、Center、East、SouthWest、South、SouthEast]之一
307
309
dx: 100, // 横轴边距,单位:像素(px)
308
310
dy: 100 // 纵轴边距,单位:像素(px)
309
- }, key, domain) // key 为非必需参数,下同
311
+ }, key, domain)
310
312
311
313
// imgLink 可以赋值给 html 的 img 元素的 src 属性,下同
312
314
@@ -316,7 +318,7 @@ qiniu.compressImage(file, options).then(data => {
316
318
317
319
// 或者
318
320
319
- var imgLink = qiniu.watermark({
321
+ const imgLink = qiniu.watermark({
320
322
mode: 2, // 文字水印
321
323
text: 'hello world !', // 水印文字,mode = 2 时 **必需**
322
324
dissolve: 50, // 透明度,取值范围1-100,非必需,下同
@@ -326,17 +328,17 @@ qiniu.compressImage(file, options).then(data => {
326
328
dx: 100, // 横轴边距,单位:像素(px)
327
329
dy: 100, // 纵轴边距,单位:像素(px)
328
330
fill: '#FFF000' // 水印文字颜色,RGB格式,可以是颜色名称
329
- }, key,domain)
331
+ }, key, domain)
330
332
` ` `
331
333
332
334
options包含的具体水印参数解释见[水印(watermark)](https: // developer.qiniu.com/dora/api/image-watermarking-processing-watermark)
333
335
334
- ### qiniu .imageView2 (options: object, key: string, domain: string): string (缩略)
336
+ ### qiniu .imageView2 (options: object, key? : string, domain? : string): string (缩略)
335
337
336
338
返回处理后的图片url
337
339
338
340
` ` ` JavaScript
339
- var imgLink = qiniu.imageView2({
341
+ const imgLink = qiniu.imageView2({
340
342
mode: 3, // 缩略模式,共6种[0-5]
341
343
w: 100, // 具体含义由缩略模式决定
342
344
h: 100, // 具体含义由缩略模式决定
@@ -347,12 +349,12 @@ qiniu.compressImage(file, options).then(data => {
347
349
348
350
options包含的具体缩略参数解释见[图片基本处理(imageView2)](https: // developer.qiniu.com/dora/api/basic-processing-images-imageview2)
349
351
350
- ### qiniu .imageMogr2 (options: object, key: string, domain: string): string (图像高级处理)
352
+ ### qiniu .imageMogr2 (options: object, key? : string, domain? : string): string (图像高级处理)
351
353
352
354
返回处理后的图片url
353
355
354
356
` ` ` JavaScript
355
- var imgLink = qiniu.imageMogr2({
357
+ const imgLink = qiniu.imageMogr2({
356
358
"auto-orient": true, // 布尔值,是否根据原图EXIF信息自动旋正,便于后续处理,建议放在首位。
357
359
strip: true, // 布尔值,是否去除图片中的元信息
358
360
thumbnail: '1000x1000' // 缩放操作参数
@@ -383,10 +385,10 @@ qiniu.compressImage(file, options).then(data => {
383
385
384
386
具体 exif 解释见[图片 EXIF 信息(exif)](https: // developer.qiniu.com/dora/api/photo-exif-information-exif)
385
387
386
- ### qiniu .pipeline (fopArr: array, key: string, domain: string): string
388
+ ### qiniu .pipeline (fopArr: array, key? : string, domain? : string): string
387
389
388
390
` ` ` JavaScript
389
- var fopArr = [{
391
+ const fopArr = [{
390
392
fop: 'watermark', // 指定watermark操作
391
393
mode: 2, // 此参数同watermark函数的参数,下同。
392
394
text: 'hello world !',
@@ -419,7 +421,7 @@ qiniu.compressImage(file, options).then(data => {
419
421
420
422
// fopArr 可以为三种类型'watermark'、'imageMogr2'、'imageView2'中的任意1-3个
421
423
// 例如只对'watermark'、'imageMogr2'进行管道操作,则如下即可
422
- // var fopArr = [{
424
+ // const fopArr = [{
423
425
// fop: 'watermark', // 指定watermark操作
424
426
// mode: 2, // 此参数同watermark函数的参数,下同。
425
427
// text: 'hello world !',
@@ -443,7 +445,7 @@ qiniu.compressImage(file, options).then(data => {
443
445
// blur:'3x5'
444
446
// }];
445
447
446
- var imgLink = qiniu.pipeline(fopArr, key, domain))
448
+ const imgLink = qiniu.pipeline(fopArr, key, domain))
447
449
` ` `
448
450
449
451
fopArr包含的具体管道操作解释见[管道操作](https: // developer.qiniu.com/dora/manual/processing-mechanism)
0 commit comments