【问题标题】:How to upload image using Base64 string in NodeJs如何在 NodeJs 中使用 Base64 字符串上传图片
【发布时间】:2021-08-04 14:32:41
【问题描述】:

我正在尝试在服务器上上传图像,因为当用户从 android 应用程序上传图像时,我正在获取 base64 字符串,虽然我在后端获取了 base64 字符串,但是如何将其转换为图像并将其保存到某个目录中。

下面是我的代码:

server.js

const express = require('express');
const app = express();

const port = process.env.PORT || 3000;

app.use(require('./routes/upload'));

app.listen(port, console.log(`App is running at ${port} port.`));

upload.js

const express = require('express');
const router = express.Router();

router.use(express.json());
router.use(express.urlencoded({extended:true}));

router.post('/upload',(req,res) => {

   const name = req.body.base64Image;
   console.log(name);
});

module.exports = router;

有人告诉我如何才能达到预期的效果。

【问题讨论】:

    标签: node.js base64


    【解决方案1】:

    您可以使用 fs 将 base64 行保存到图像文件中

    fs.writeFileSync(path.join(uploadPath, fileName), new Buffer(base64, 'base64'))
    

    【讨论】:

      【解决方案2】:

      你需要创建一个缓冲区

      const base64Data = new Buffer.from(req.body.base64data.replace(/^data:image\/\w+;base64,/, ""), 'base64');
      

      然后应该可以保存或上传到s3等

      【讨论】:

      • 我想将此图像保存在upload 目录中,那么如何给它提供upload 的路径。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-03
      • 2013-11-03
      • 2022-12-07
      • 1970-01-01
      • 2014-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多