1.需要下载7牛啥的
const qiniu = require('qiniu')
const configs = require('../config/config')
var path = require('path')
var fs = require("fs")//操作文件
// 七牛
const qiniu = require('qiniu')
var _accessKey = configs.qiniu.AK;
var _secretKey = configs.qiniu.SK;
var mac = new qiniu.auth.digest.Mac(_accessKey, _secretKey);
var options = {
scope: configs.qiniu.Zone
};
var putPolicy = new qiniu.rs.PutPolicy(options);
var uploadToken = putPolicy.uploadToken(mac)
// 第二步:构建配置config 上传对应的空间地区
var config = new qiniu.conf.Config();
config.zone = qiniu.zone.Zone_z2; //华南
var formUploader = new qiniu.form_up.FormUploader(config);
var putExtra = new qiniu.form_up.PutExtra();
// 拿到express路由
const Router = express.Router()
Router.post('/qiniuUpload', upload.array('file', 2), function (req, res, next) {
var file = req.files
var arrPath = []
for (let i = 0; i < file.length; i++) {
var pathName = "upload/" + file[i].filename + '.' + file[i].originalname.split('.')[1]
console.log()
fs.rename(req.files[i].path, pathName, function (err) {
if (err) {
throw err;
}
})
var key = file[i].filename + '.' + file[i].originalname.split('.')[1]
// 文件上传 // path.resolve给相对路径变成绝对路径
formUploader.putFile(uploadToken, key, path.resolve(pathName), putExtra, function (respErr, respBody, respInfo) {
if (respErr) {
throw respErr;
}
if (respInfo.statusCode == 200) {
console.log(respBody);
} else {
console.log(respInfo.statusCode);
console.log(respBody);
}
})
// 存到数组
arrPath.push({path: configs.qiniu.URL + key})
// 删除上次图片
fs.unlinkSync(pathName);
}
res.json({code: 0, data: arrPath, msg: '图片上传成功'})
})
nodejs集成七牛云
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 用CocoaPods导入SDK 导入头文件 官网获取两个key 获取token 项目中一般是由服务器来生成,这里...
- 七牛云是一个便捷的数据云存储平台。通过官方或社区社区SDK你可以方便通过程序上传文件到自己的空间中。下面的这个小 ...
- 这篇文章的内容紧接着上章的内容,上一篇讲了truffle合约部署的基本操作,文章最后讲了通过console来调用部...
- 背景 业务需求,产品希望通过后台接口上传视频后,能立即获取视频切片的地址。然后将地址插入到相关业务的表中。但是七牛...