使用vantUI的Uploade组件上传图片,后台获取base64码,如何在后台转换成文件并进行保存?

 
 
 data() {
    return {
      fileList: []
      }
 }

fileList是数组,下面举例上传一个图片时fileList打印的值
使用vantUI的Uploade组件上传图片,后台获取base64码,如何在后台转换成文件并进行保存?_第1张图片
所以我们真正需要传递给后端的是

fileList[0].content.replace(/^data:image\/\w+;base64,/, '') // replace消除前缀,获取完整的base64码

在后端接收后,这里我使用的是koa搭建的后台

router.post('/put', async (ctx) => {
	const frontPic = ctx.request.body.frontPic
    const dataBuffer = Buffer.from(frontPic, 'base64'); // 存入buffer缓冲区,参考(http://nodejs.cn/api/buffer.html)
    await fs.writeFile(__dirname+`/../../images/img.png`, dataBuffer, function(err) {
        if(err){
          ctx.body = err
        }
    });
})

成功将图片写入到对应的文件夹img.png

你可能感兴趣的:(vue)