获取响应" ContentType"在nodejs http请求中

时间:2016-05-10 10:42:13

标签: node.js

我想通过http下载文件并检查" ContentType"响应标题。我的下载看起来像这样:

var fileUrl = "<url>";
var request = https.get(fileUrl, function (res) {
res.on('data', function (data) {
    //...
});
res.on('error', function (error) {
    //...;
});

我得到了数据,但有没有办法访问内容类型的共鸣头?

3 个答案:

答案 0 :(得分:12)

res变量是http.IncomingMessage的一个实例,其headers属性包含标题:

var request = https.get(fileUrl, function (res) {
  var contentType = res.headers['content-type'];
  ...
});

答案 1 :(得分:1)

您可以使用

res.headers

参考https://nodejs.org/api/https.html

答案 2 :(得分:-1)

如果您只想获取 mime-type,请注意 Content-Type 标头可以包含其他信息,例如字符集或边界。

Boundary

Charset inside content type header

使用解析器如 content-type-parser 而不是直接读取标题。

const contentTypeParser = require("content-type-parser");
const contentType = contentTypeParser(req.headers['content-type']);
const mimeType = contentType.type+'/'+contentType.subtype;