[英]node.js download image with unknown extension from url
我的问题是从给定的链接下载图像,但是有一个麻烦-我不知道图像扩展名(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'));
但是当我不知道图像扩展名时该怎么办。 我认为也许我可以检查响应,如果它是='404',则第二次尝试从以下位置下载图像: url +'。[另一个扩展名]' ,依此类推。 从外观上看就像回调地狱。
向URL发出请求,检查请求标题中的Content-type以获取文件的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
执行HEAD
请求并检查HTTP响应消息的Content-Type
标头。 它应包括images的指定MIME类型之一 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.