node 七牛云上传文件

七牛云储存 nodejs qiniu 模块

信息配置

const qiniu = require('qiniu')

// 需要填写你的 Access Key 和 Secret Key
var accessKey = ''
var secretKey = '' var mac = new qiniu.auth.digest.Mac(accessKey, secretKey) // 要上传的空间 var bucket = 'image' var options = { scope: bucket, callbackBody: '{"key":"$(key)","hash":"$(etag)","fsize":$(fsize),"bucket":"$(bucket)","name":"$(x:name)"}', callbackBodyType: 'application/json' } var putPolicy = new qiniu.rs.PutPolicy(options) var uploadToken = putPolicy.uploadToken(mac) var config = new qiniu.conf.Config() // 是否使用https域名 // config.useHttpsDomain = true // 上传是否使用cdn加速 // config.useCdnDomain = true ** *在这里添加下面的方法 *

文件路径formUploader.putFile方法

var localFile = "/Users/jemy/Documents/qiniu.mp4";
var formUploader = new qiniu.form_up.FormUploader(config);
var putExtra = new qiniu.form_up.PutExtra(); var key='test.mp4'; // 文件上传 formUploader.putFile(uploadToken, key, localFile, putExtra, function(respErr, respBody, respInfo) { if (respErr) { throw respErr; } if (respInfo.statusCode == 200) { console.log(respBody); } else { console.log(respInfo.statusCode); console.log(respBody); } });

文件字节方法formUploader.put

** 该方法七牛不支持 buffer类,可使用Buffer.toString()进行转换

var formUploader = new qiniu.form_up.FormUploader(config);
var putExtra = new qiniu.form_up.PutExtra();
var key='test.txt'; formUploader.put(uploadToken, key, "hello world", putExtra, function(respErr, respBody, respInfo) { if (respErr) { throw respErr; } if (respInfo.statusCode == 200) { console.log(respBody); } else { console.log(respInfo.statusCode); console.log(respBody); } });

可读流上传方式formUploader.putStream

** 最易想到的就是fs.createReadStream 创建可读流对象,http类,以及child进程输出,输入流、更多了解查阅nodejs stream类

var formUploader = new qiniu.form_up.FormUploader(config);
var putExtra = new qiniu.form_up.PutExtra();
var readableStream = xxx; // 可读的流 formUploader.putStream(uploadToken, key, readableStream, putExtra, function(respErr, respBody, respInfo) { if (respErr) { throw respErr; } if (respInfo.statusCode == 200) { console.log(respBody); } else { console.log(respInfo.statusCode); console.log(respBody); } });

断点续传resumeUploader.putFile调用一个新的resumeUploader.putStream对象

var localFile = "/Users/jemy/Documents/qiniu.mp4";
var resumeUploader = new qiniu.resume_up.ResumeUploader(config);
var putExtra = new qiniu.resume_up.PutExtra(); // 扩展参数 putExtra.params = { "x:name": "", "x:age": 27, } putExtra.fname = 'testfile.mp4'; // 如果指定了断点记录文件,那么下次会从指定的该文件尝试读取上次上传的进度,以实现断点续传 putExtra.resumeRecordFile = 'progress.log'; var key = null; // 文件分片上传 resumeUploader.putFile(uploadToken, key, localFile, putExtra, function(respErr, respBody, respInfo) { if (respErr) { throw respErr; } if (respInfo.statusCode == 200) { console.log(respBody); } else { console.log(respInfo.statusCode); console.log(respBody); } });

resumeUploader.putWithoutKey 调用 key为null的 resumeUploader.put方法
resumeUploader.putFileWithoutKey 调用 key为null的 resumeUploader.putFile方法

转载于:https://www.cnblogs.com/niesaisai/p/8157105.html

七牛云提供了丰富的工具和SDK,方便开发者在各种语言和平台上进行文件上传和下载操作。以下是七牛云实现上传下载图片的工具包: 1. Qiniu Java SDK:Java开发者可以使用Qiniu Java SDK来上传和下载文件,包括图片。该SDK提供了简单易用的API接口和丰富的功能,支持上传下载进度监听和断点续传等特性。 2. Qiniu Node.js SDK:Node.js开发者可以使用Qiniu Node.js SDK来上传和下载文件,包括图片。该SDK提供了简单易用的API接口和丰富的功能,支持上传下载进度监听和断点续传等特性。 3. Qiniu Python SDK:Python开发者可以使用Qiniu Python SDK来上传和下载文件,包括图片。该SDK提供了简单易用的API接口和丰富的功能,支持上传下载进度监听和断点续传等特性。 4. Qiniu PHP SDK:PHP开发者可以使用Qiniu PHP SDK来上传和下载文件,包括图片。该SDK提供了简单易用的API接口和丰富的功能,支持上传下载进度监听和断点续传等特性。 5. Qiniu Go SDK:Go开发者可以使用Qiniu Go SDK来上传和下载文件,包括图片。该SDK提供了简单易用的API接口和丰富的功能,支持上传下载进度监听和断点续传等特性。 以上是七牛云提供的一些常用语言的SDK,开发者可以根据需要选择相应的工具包来实现上传下载图片的功能。另外,七牛云还提供了丰富的文档和示例代码,方便开发者快速上手并完成开发任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值