?????????
???????????????? ???????? ?
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
????????????? ????????????
??????? 不能 ??? ????????
??????? 白嫖 ????????????
?????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
?????????????????????????
????????????????????????
前言
-
Node.js
是一個javascript運行環(huán)境。它讓javascript可以開發(fā)后端程序
,實現幾乎其他后端語言實現的所有功能,可以與```PHP、Java、Python、.NET、Ruby等后端語言平起平坐。 - Nodejs是基于V8引擎,V8是Google發(fā)布的開源JavaScript引擎,本身就是用于Chrome瀏覽器的JS解釋,但是Node之父
Ryan Dahl
把這V8搬到了服務器上,用于做服務器的軟件。
BASE64
當需要儲存圖片到數據庫時可以把圖片轉成Base64儲存到數據庫
前端開發(fā)
腳本演示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>前端</title>
</head>
<script src="https://cdn.jsdelivr.net/npm/axios@1.1.2/dist/axios.min.js"></script>
<body>
<img src="" style="width: 500px;height: 500px;" alt="">
</body>
<script>
const img = document.querySelector('img')
axios({
method: 'get',
url: 'http://127.0.0.1:8000/getImg',
}).then(reason => {
img.src = reason.data
})
</script>
</html>
后端開發(fā)
腳本演示
const express = require('express')
const app = express()
var http = require('https');
var url = 'https://img11.360buyimg.com/seckillcms/s280x280_jfs/t1/180903/7/34634/51291/6441090bF20d5d7bf/8b14975d08b54143.jpg'
let images = ''
http.get(url, function (res) {
var chunks = [];
var size = 0;
res.on('data', function (chunk) {
chunks.push(chunk);
size += chunk.length; //累加緩沖數據的長度
});
res.on('end', function (err) {
var data = Buffer.concat(chunks, size);
var base64Img = data.toString('base64');
images = `data:image/png;base64,${base64Img}`
// console.log(`data:image/png;base64,${base64Img}`);
});
});
app.get('/getImg', (req, res) => {
res.header('Access-Control-Allow-Origin', '*')
res.send(images)
})
app.listen(8000)
異步代碼
腳本演示
const express = require('express')
const app = express()
var http = require('https');
var url = 'https://img11.360buyimg.com/seckillcms/s280x280_jfs/t1/180903/7/34634/51291/6441090bF20d5d7bf/8b14975d08b54143.jpg'
async function imgUrlToBase64(url) {
return new Promise(function (resolve, reject) {
let req = http.get(url, function (res) {
var chunks = [];
var size = 0;
res.on('data', function (chunk) {
chunks.push(chunk);
size += chunk.length; //累加緩沖數據的長度
});
res.on('end', function (err) {
var data = Buffer.concat(chunks, size);
let base64Img = `data:image/png;base64,${data.toString('base64')}`;
resolve({ success: true, data: base64Img });
});
})
req.on('error', (e) => {
resolve({ success: false, errmsg: e.message });
});
req.end();
})
}
app.get('/getImg', async (req, res) => {
let imgBaseData = await imgUrlToBase64(url)
res.header('Access-Control-Allow-Origin', '*')
res.send(imgBaseData)
})
app.listen(8000)
效果
文章來源:http://www.zghlxwxcb.cn/news/detail-595918.html
總結
以上是個人學習Node的相關知識點,一點一滴的記錄了下來,有問題請評論區(qū)指正,共同進步,這才是我寫文章的原因之,如果這篇文章對您有幫助請三連支持一波
文章來源地址http://www.zghlxwxcb.cn/news/detail-595918.html
到了這里,關于NodeJS 后端通過Http獲取Base64格式數據顯示圖片 ②〇的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!