前端vue
let param = new FormData(); //创建form对象
param.append('img',state.banner.edi.pic);//图片文件
param.append('sort',state.banner.edi.sort);//正常内容
let config = {
headers:{'Content-Type':'multipart/form-data'}
}; //添加请求头
axios.post('/banner/add',param,config).then(res=>{
$alert(res.data.msg,"提示")
})
koa2
const bodyParser=require('koa-bodyparser');
const router=require('koa-router')();//路由
const multer = require('koa-multer');//加载koa-multer模块
app.use(bodyParser());
app.use(router.routes());
//文件上传
//配置
var storage = multer.diskStorage({
//文件保存路径
destination: function (req, file, cb) {
cb(null, 'public/uploads/')
},
//修改文件名称
filename: function (req, file, cb) {
var fileFormat = (file.originalname).split(".");
cb(null,Date.now() + "." + fileFormat[fileFormat.length - 1]);
}
})
//加载配置
var upload = multer({ storage: storage });
//新增banner
router.post('/banner/add', upload.single('img'),async (ctx,next)=>{
let sort=ctx.req.body.sort;
let img=ctx.req.file.filename;//需要拼接地址的为服务器文件地址
let req_data=[sort,img];
let sql='SELECT * FROM banner WHERE sort=?';
let data=await query(sql,sort);
if(data!=0){
ctx.body={code:0,msg:"序号已使用"}
console.log(img)
}else{
let insql= 'INSERT INTO banner(sort) VALUES(?)';
let indata=await query(insql,sort);
if(indata.insertId){
ctx.body={code:1,msg:"新增成功"}
}else{
ctx.body={code:2,msg:"格式不正确"}
}
}
await next();
})