Javascript node.js从url下载具有未知扩展名的图像
我的问题是从给定的链接下载图像,但有一个问题-我不知道图像扩展名(bmp、jpg、png等) 我正在使用请求模块,并成功下载png扩展的图像: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')); 但是当我不知道图像扩展时该怎么办。
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