溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

node.js如何實現(xiàn)根據(jù)URL返回指定的圖片

發(fā)布時間:2020-10-26 17:15:01 來源:億速云 閱讀:242 作者:Leah 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān)node.js如何實現(xiàn)根據(jù)URL返回指定的圖片,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

代碼如下所示:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
  </head>
  <body>
    <img src="img/NAROTA.jpg"/>
  </body>
</html>

那么怎么設置網(wǎng)絡資源呢,比如一張png格式的圖片,我們需要知道,網(wǎng)絡資源首先放在我們的服務器,所以我們的node.js服務器中應該在客戶端訪問這張圖片時讀取這張圖片,然后再返回給客戶端,下面我們直接貼出代碼,這個是我自己瞎捉摸的,我目前也不知道主流的做法是怎么樣的,但是還是優(yōu)化了一下url的解析:

var http=require("http");
var fs=require("fs");
var url=require("url");
//創(chuàng)建一個server的實例
var server=http.createServer(function(req,res){
var pathname=url.parse(req.url).pathname;
//當url的ip加端口號的后1到7位為img/png時,返回以該路徑下對應的png圖片
if(pathname.substring(1,8)==='img/png'){
    fs.readFile(pathname.substring(1),function(err,data){
    res.writeHead(200,{'Content-Type':'image/png'});
    res.end(data);
  });
}
//jpg同上
if(pathname.substring(1,8)==='img/jpg'){
    fs.readFile(pathname.substring(1),function(err,data){
    res.writeHead(200,{'Content-Type':'image/jpeg'});
    res.end(data);
  });
  }
}).listen(3010);//監(jiān)聽在3010端口 
console.log('服務器已開啟......');

主要是如何解析url,比如我要訪問127.0.0.1:3010這個ip加端口的服務器,其目錄下的img/png的warn.png這張圖片,在上述代碼中,我就只需訪問127.0.0.1:3010/img/png/warn.png ,效果如下:

node.js如何實現(xiàn)根據(jù)URL返回指定的圖片

具體思路是,將url中的img/png/xxx.png解析出來作為我們讀取圖片的參數(shù),這樣做得好處是只需一條判斷語句即可處理所有的png類型的圖片。

在node.js中,可以通過writeHead() 方法寫頭,表明該文件的類型,可以將大部分的文件類型設置為網(wǎng)絡資源。
下面是一些常用的HTTP Content-Type,希望對大家能有幫助:

node.js如何實現(xiàn)根據(jù)URL返回指定的圖片

看完上述內(nèi)容,你們對node.js如何實現(xiàn)根據(jù)URL返回指定的圖片有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI