Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript node.js从url下载具有未知扩展名的图像_Javascript_Node.js_Request - Fatal编程技术网

Javascript node.js从url下载具有未知扩展名的图像

Javascript node.js从url下载具有未知扩展名的图像,javascript,node.js,request,Javascript,Node.js,Request,我的问题是从给定的链接下载图像,但有一个问题-我不知道图像扩展名(bmp、jpg、png等) 我正在使用请求模块,并成功下载png扩展的图像: var fs = require('fs'); var request = require('request'); var url = 'www.images.com/image01.'; request(url+ '.png').pipe(fs.createWriteStream('./image.png')); 但是当我不知道图像扩展时该怎么办。

我的问题是从给定的链接下载图像,但有一个问题-我不知道图像扩展名(bmp、jpg、png等) 我正在使用请求模块,并成功下载png扩展的图像:

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

但是当我不知道图像扩展时该怎么办。我想也许我可以检查responce,如果它是='404',然后第二次尝试从url+'[另一个扩展]'下载图像,依此类推。它看起来像是一个回调地狱。

执行
HEAD
请求并检查HTTP响应消息
内容类型
头。它应该包括一个

请求URL,检查请求头中的内容类型以获取文件的Mime类型。项目中可以有一个名为mime types.js的文件

在下载文件的地方,您可以请求该文件:

    var mime = request('mime-types.js');
mime-types.js文件的内容应该是这样的

    const JPG = "image/jpeg";
    module.exports = {
          JPG: JPG
    }
然后,您可以在现有的不同mime类型和请求结果之间切换


你可以在这里找到mime类型:

你是说var mime=require('mime-types.js')?是的!谢谢你MeetJoeBlack