uniapp上传头像到node

117 阅读1分钟

服务器使用的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字段