2015-06-25 124 views
0

我的問題是從給定的鏈接下載圖像,但有一個麻煩 - 我不知道圖像擴展(BMP,JPG,PNG等) 我使用的是請求模塊,成功下載PNG圖像:node.js從url下載帶有未知擴展名的圖像

var fs = require('fs'); 
var request = require('request'); 
var url = 'www.images.com/image01.'; 
request(url+ '.png').pipe(fs.createWriteStream('./image.png')); 

但是當我不知道圖像擴展時該怎麼辦。我想也許我可以檢查響應,如果它='404',然後第二次嘗試下載圖像:url +'。[另一個擴展]'等等。它的外觀喜歡回撥地獄。

回答

1

向URL發出請求,檢查內容類型在文件的Mime類型請求的標頭中。你可以有一個文件在您的項目,叫做MIME-types.js

你在哪裏下載的文件,你可以使文件的要求:

var mime = request('mime-types.js'); 

和你mime-的內容types.js文件應該是這樣的

const JPG = "image/jpeg"; 
    module.exports = { 
      JPG: JPG 
    } 

然後,您可以在不同的MIME類型和請求的結果之間切換。

你可以在這裏找到MIME類型:https://en.wikipedia.org/wiki/Internet_media_type#Type_image

+0

你的意思VAR啞劇=需要( 'MIME-types.js'); ? – MeetJoeBlack

+0

我做到了!謝謝MeetJoeBlack – diegomaidana

相關問題