做项目的时候,需要用Nodejs做代理转发,服务器那边要求图片以流的方式上传,这里记录一下Nodejs以流的形式读取本地图片并上传。
1. 安装依赖
2. 需要模块
1 2 3 4
| const fs = require("fs"); const path = require("path"); const request = require("request"); const md5 = require("md5");
|
3. 具体操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| let img = req.body.img; let base64Data = img.replace(/^data:image\/\w+;base64,/, ""); let buffer = new Buffer(base64Data, "base64"); let md5Data = md5(buffer); fs.writeFile(path.join(__dirname+"/../uploads", `${md5Data}.jpg`), buffer, (err) => { if(err) { console.log(err); return; } fs.createReadStream(path.join(__dirname+`/../uploads/${md5Data}.jpg`)).pipe(request({ url: url, method: "POST", headers: { "Content-Type": "application/json" } ... }, (error, response, body) => { console.log(body); })); })
|
最后更新时间:
watasi,男,18岁,未婚,爱好《蜡笔小新》