服务器使用的node,上传图片使用了multer中间件
npm install @koa/multer
业务:通过获取用户微信头像并上传到服务器中
通过@chooseavatar事件返回的是一个地址,使用uni.uploadFile将地址上传到对应的服务器,具体代码如下
uni.uploadFile({
url: 'http://localhost:8000/file/avatar', //服务器的地址
filePath: path,//通过@chooseavatar返回的url
name: 'avatar',//这个一定到跟multer接收的一致
//header配置非必选
header: {
'Content-Type': 'multipart/form-data',
'Authorization': uni.getStorageSync('token') || ''//由于我设置了token的校验
},
success: (uploadFileRes) => {
console.log(uploadFileRes.data);
}
});
node
const Router = require('@koa/router')
const Multer = require('@koa/multer')
const fileRouter = new Router({prefix:'/file'})
fileRouter.post('/avatar',verifyToken,handleAvatar,avatar)
const uploadAvatar = Multer({
dest:'./uploads/avatar'
})
const handleAvatar = uploadAvatar.single('avatar')//avatar对应uni.uploadFile中的name字段