使用node,express启动一个服务,然后安装multiparty
npm install multiparty
multiparty的作用相当于一个中间件,用于对请求的文件信息做一个拦截处理
var express = require('express');
var router = express.Router();
const upload = multer({ dest: './uploads' });
const multiparty = require("multiparty");
const { body, validationResult } = require('express-validator');
const Minio = require('minio') //minio分布式储存
var minioClient = new Minio.Client({
endPoint: '', // 本机内网ip 注意:不要携带http或https
port: 9000, //端口号默认为9000 如果有多个端口号需在服务器查看对应的端口
useSSL: false, // false代表不需要https
accessKey: '', // 账号
secretKey: '' // 密码
});
router.post("/upload",(req,res,next)=>{
var form = new multiparty.Form()
form.parse(req,async (err, fields, files)=>{
if(err){
throw err
}else{
const bucketName = 'imgbucket'; //自己创建的桶名
let fileName = files.file[0].originalFilename;
let path = files.file[0].path;
//上传文件
try {
await minioClient.fPutObject(bucketName,fileName , path);
res.send({
code: 200,
url: `http://xxx.xxx.xx.x:port/${bucketName}/${fileName}`, // 返回访问URL
});
} catch {
console.log('shangchuancuowu')
}
}
})
})