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: '图片上传成功'})
})
网友评论