node 七牛云上传文件
2018-06-24 01:10:39来源:未知 阅读 ()
七牛云储存 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方法
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- ?javascript如何控制上传文件的大小 2020-03-19
- nodejs中如何使用async模块 2020-02-22
- nodejs的express自动生成项目框架的方法 2020-02-20
- Node.js中环境变量process.env的一些事详解 2020-01-17
- 详解node.js进行web开发的操作方法 2019-12-14
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash