@@ -14,7 +14,7 @@ Node.js SDK 属于七牛服务端SDK之一,主要有如下功能:
14
14
<a id =" opensource " ></a >
15
15
# 开源
16
16
17
- - [ Node.js SDK 项目地址] ( https://github.com/qiniu )
17
+ - [ Node.js SDK 项目地址] ( https://github.com/qiniu/nodejs-sdk )
18
18
- [ Node.js SDK 发布地址] ( https://github.com/qiniu/nodejs-sdk/releases )
19
19
- [ Node.js SDK 历史文档] ( /kodo/sdk/nodejs-sdk-6 )
20
20
@@ -176,10 +176,8 @@ var uploadToken=putPolicy.uploadToken(mac);
176
176
七牛支持在文件上传到七牛之后,立即对其进行多种指令的数据处理,这个只需要在生成的上传凭证中指定相关的处理参数即可。
177
177
178
178
```
179
- var saveMp4Entry = qiniu.util.urlsafeBase64Encode(bucket +
180
- ":avthumb_test_target.mp4");
181
- var saveJpgEntry = qiniu.util.urlsafeBase64Encode(bucket +
182
- ":vframe_test_target.jpg");
179
+ var saveMp4Entry = qiniu.util.urlsafeBase64Encode(bucket + ":avthumb_test_target.mp4");
180
+ var saveJpgEntry = qiniu.util.urlsafeBase64Encode(bucket + ":vframe_test_target.jpg");
183
181
//数据处理指令,支持多个指令
184
182
var avthumbMp4Fop = "avthumb/mp4|saveas/" + saveMp4Entry;
185
183
var vframeJpgFop = "vframe/jpg/offset/1|saveas/" + saveJpgEntry;
@@ -201,7 +199,7 @@ var uploadToken=putPolicy.uploadToken(mac);
201
199
<a id =" param-uptoken " ></a >
202
200
#### 带自定义参数的凭证
203
201
204
- 七牛支持客户端上传文件的时候定义一些自定义参数,这些参数可以在` returnBody ` 和` callbackBody ` 里面和七牛内置支持的魔法变量(即系统变量)通过相同的方式来引用。这些自定义的参数名称必须以` x: ` 开头。例如客户端上传的时候指定了自定义的参数` x:user ` 和` x:age ` 分别是` String ` 和` int ` 类型。那么可以通过下面的方式引用:
202
+ 七牛支持客户端上传文件的时候定义一些自定义参数,这些参数可以在` returnBody ` 和` callbackBody ` 里面和七牛内置支持的魔法变量(即系统变量)通过相同的方式来引用。这些自定义的参数名称必须以` x: ` 开头。例如客户端上传的时候指定了自定义的参数` x:user ` 和` x:age ` 分别是` string ` 和` int ` 类型。那么可以通过下面的方式引用:
205
203
206
204
```
207
205
var options = {
@@ -259,9 +257,7 @@ config.zone = qiniu.zone.Zone_z0;
259
257
最简单的就是上传本地文件,直接指定文件的完整路径即可上传。
260
258
261
259
```
262
- var config = new qiniu.conf.Config();
263
260
var localFile = "/Users/jemy/Documents/qiniu.mp4";
264
- config.zone = qiniu.zone.Zone_z0;
265
261
var formUploader = new qiniu.form_up.FormUploader(config);
266
262
var putExtra = new qiniu.form_up.PutExtra();
267
263
var key='test.mp4';
@@ -286,8 +282,6 @@ formUploader.putFile(uploadToken, key, localFile, putExtra, function(respErr,
286
282
可以支持将内存中的字节数组上传到空间中。
287
283
288
284
```
289
- var config = new qiniu.conf.Config();
290
- config.zone = qiniu.zone.Zone_z0;
291
285
var formUploader = new qiniu.form_up.FormUploader(config);
292
286
var putExtra = new qiniu.form_up.PutExtra();
293
287
var key='test.txt';
@@ -311,8 +305,6 @@ formUploader.put(uploadToken, key, "hello world", putExtra, function(respErr,
311
305
这里演示的是` ReadableStream ` 对象的上传。
312
306
313
307
```
314
- var config = new qiniu.conf.Config();
315
- config.zone = qiniu.zone.Zone_z0;
316
308
var formUploader = new qiniu.form_up.FormUploader(config);
317
309
var putExtra = new qiniu.form_up.PutExtra();
318
310
var readableStream = xxx; // 可读的流
@@ -335,10 +327,7 @@ formUploader.putStream(uploadToken, key, readableStream, putExtra, function(resp
335
327
#### 文件分片上传(断点续传)
336
328
337
329
```
338
- var config = new qiniu.conf.Config();
339
330
var localFile = "/Users/jemy/Documents/qiniu.mp4";
340
- config.zone = qiniu.zone.Zone_z0;
341
- config.useCdnDomain = true;
342
331
var resumeUploader = new qiniu.resume_up.ResumeUploader(config);
343
332
var putExtra = new qiniu.resume_up.PutExtra();
344
333
// 扩展参数
@@ -369,7 +358,7 @@ resumeUploader.putFile(uploadToken, key, localFile, putExtra, function(respErr,
369
358
370
359
<a id =" upload-result-parse " ></a >
371
360
### 解析自定义回复内容
372
- 有些情况下,七牛返回给上传端的内容不是默认的` hash ` 和` key ` 形式,这种情况下,可能出现在自定义` returnBody ` 或者自定义了` callbackBody ` 的情况下,前者一般是服务端直传的场景,而后者则是接受上传回调的场景,这两种场景之下,都涉及到需要将自定义的回复内容解析为 ` Java ` 的类对象 ,一般建议在交互过程中,都采用` JSON ` 的方式,这样处理起来方法比较一致,而且` JSON ` 的方法最通用,在 Node.js 里面处理JSON的回复相当地方面 ,基本上了解回复结构就可以处理,这里不再赘述。
361
+ 有些情况下,七牛返回给上传端的内容不是默认的` hash ` 和` key ` 形式,这种情况下,可能出现在自定义` returnBody ` 或者自定义了` callbackBody ` 的情况下,前者一般是服务端直传的场景,而后者则是接受上传回调的场景,这两种场景之下,都涉及到需要将自定义的回复进行内容解析 ,一般建议在交互过程中,都采用` JSON ` 的方式,这样处理起来方法比较一致,而且` JSON ` 的方法最通用,在 Node.js 里面处理JSON的回复相当地方便 ,基本上了解回复结构就可以处理,这里不再赘述。
373
362
374
363
<a id =" upload-callback-verify " ></a >
375
364
### 业务服务器验证七牛回调
@@ -436,7 +425,8 @@ var privateDownloadUrl = bucketManager.privateDownloadUrl(privateBucketDomain, k
436
425
资源管理包括的主要功能有:
437
426
438
427
- <a href =" #rs-stat " >获取文件信息</a >
439
- - <a href =" #rs-chgm " >修改文件类型</a >
428
+ - <a href =" #rs-chgm " >修改文件MimeType</a >
429
+ - <a href =" #rs-chtype " >修改文件存储类型</a >
440
430
- <a href =" #rs-move " >移动或重命名文件</a >
441
431
- <a href =" #rs-copy " >复制文件副本</a >
442
432
- <a href =" #rs-delete " >删除空间中的文件</a >
@@ -490,7 +480,7 @@ bucketManager.stat(bucket, key, function(err, respBody, respInfo) {
490
480
```
491
481
492
482
<a id =" rs-chgm " ></a >
493
- ## 修改文件类型
483
+ ## 修改文件MimeType
494
484
495
485
```
496
486
var bucket = 'if-pbl';
@@ -509,6 +499,27 @@ bucketManager.changeMime(bucket, key, newMime, function(err, respBody, respInfo)
509
499
});
510
500
```
511
501
502
+ <a id =" rs-chtype " ></a >
503
+ ## 修改文件存储类型
504
+
505
+ ```
506
+ var bucket = 'if-pbl';
507
+ var key = 'qiniu.mp4';
508
+ //newType=0表示普通存储,newType为1表示低频存储
509
+ var newType = 0;
510
+
511
+ bucketManager.changeType(bucket, key, newType, function(err, respBody, respInfo) {
512
+ if (err) {
513
+ console.log(err);
514
+ //throw err;
515
+ } else {
516
+ //200 is success
517
+ console.log(respInfo.statusCode);
518
+ console.log(respBody);
519
+ }
520
+ });
521
+ ```
522
+
512
523
<a id =" rs-move " ></a >
513
524
## 移动或重命名文件
514
525
@@ -622,7 +633,7 @@ var bucket = 'if-pbl';
622
633
// delimiter 指定目录分隔符
623
634
var options = {
624
635
limit: 10,
625
- prefix: 'calculus ',
636
+ prefix: 'images/ ',
626
637
};
627
638
628
639
bucketManager.listPrefix(bucket, options, function(err, respBody, respInfo) {
@@ -1319,8 +1330,8 @@ console.log(finalUrl);
1319
1330
<a id =" faq " ></a >
1320
1331
# 常见问题
1321
1332
1322
- - QiniuExeption 保留了请求响应的信息,失败情况下会抛出此异常,可以提交给我们排查问题 。
1323
- - API 的使用,demo 可以参考 [ 单元测试 ] ( https://github.com/qiniu/java -sdk/blob /master/src/test ) 。
1333
+ - Node.js SDK的callback保留了请求的错误信息,回复信息和头部信息,遇到问题时,可以都打印出来提交给我们排查问题 。
1334
+ - API 的使用,可以参考我们为大家精心准备的 [ 使用实例 ] ( https://github.com/qiniu/nodejs -sdk/tree /master/examples ) 。
1324
1335
1325
1336
<a id =" related-resources " ></a >
1326
1337
# 相关资源
0 commit comments