weixin_41566197 2019-12-02 09:31 采纳率: 0%
浏览 2818

node项目运行后提示错误信息ERR_HTTP_INVALID_HEADER_VALUE

我在运行node项目时提示运行错误

D:\hichat>node app.js
server on *:3000
_http_outgoing.js:475
    throw new ERR_HTTP_INVALID_HEADER_VALUE(value, name);
    ^

TypeError [ERR_HTTP_INVALID_HEADER_VALUE]: Invalid value "undefined" for header "Content-Type"
    at storeHeader (_http_outgoing.js:432:5)
    at processHeader (_http_outgoing.js:427:3)
    at ServerResponse._storeHeader (_http_outgoing.js:332:11)
    at ServerResponse.writeHead (_http_server.js:303:8)
    at D:\hichat\modules\StaticService.js:30:8
    at FSReqCallback.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:61:3) {
  code: 'ERR_HTTP_INVALID_HEADER_VALUE'
}

网上找了很多,都没有找到相应的方法和出现的原因

StaticService.js
var fs     = require("fs"),//内部模块 处理文件操作
    path   =require("path"),//内部模块 处理路径操作
    mime   =require("./mime").types;//自定义模块请求处理文档类型操作

/**
 * 404 NOT FOUNT 函数
 * @param  {[type]} res [请求对象]
 */
function send404(res){
    res.writeHead(404,{"Content-Type":"text/plain"});
    res.end("404 not found");
}

/**
 * 静态文件请求函数
 * @param  {[type]} realpath [绝对路径]
 * @param  {[type]} res      [服务器请求对象]
 */
function staticServer(realpath,res){
    fs.readFile(realpath,function(err,data){
        if(!err){

          var extname=path.extname(realpath);
            res.writeHead(200,{"Content-Type":mime[extname]});  //这行报错

            res.end(data);
        }else{
            send404(res);
        }
    });
}
/**
 * 静态服务器主入口模块
 * @param  {[type]} pathname [请求路径名称]
 * @param  {[type]} res      [请求对象]
 * @param  {[type]} base_dir [根目录]
 */
exports.staticRender=function(pathname,res,base_dir){
    var reg = /^\/static|upload/;//目录匹配
    if(reg.test(pathname)){
        fs.exists(path.join(base_dir,pathname),function(exists){
            if(exists){
                staticServer(path.join(base_dir,pathname),res)
            }else{
                send404(res);
            }
        })
    }else{
        send404(res);
    }
}
/**
 * title hichat聊天室 文件mime类型对象
 */
exports.types = {
    '.hqx':'application/mac-binhex40',
    '.cpt':'application/mac-compactpro',
    '.csv':['text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'],
    '.bin':'application/macbinary',
    '.dms':'application/octet-stream',
    '.lha':'application/octet-stream',
    '.lzh':'application/octet-stream',
    '.exe':['application/octet-stream', 'application/x-msdownload'],
    '.class':'application/octet-stream',
    '.psd':'application/x-photoshop',
    '.so':'application/octet-stream',
    '.sea':'application/octet-stream',
    '.dll':'application/octet-stream',
    '.oda':'application/oda',
    '.pdf':['application/pdf', 'application/x-download'],
    '.ai':'application/postscript',
    '.eps':'application/postscript',
    '.ps':'application/postscript',
    '.smi':'application/smil',
    '.smil':'application/smil',
    '.mif':'application/vnd.mif',
    '.xls':['application/excel', 'application/vnd.ms-excel', 'application/msexcel'],
    '.ppt':['application/powerpoint', 'application/vnd.ms-powerpoint'],
    '.wbxml':'application/wbxml',
    '.wmlc':'application/wmlc',
    '.dcr':'application/x-director',
    '.dir':'application/x-director',
    '.dxr':'application/x-director',
    '.dvi':'application/x-dvi',
    '.gtar':'application/x-gtar',
    '.gz':'application/x-gzip',
    '.php':'application/x-httpd-php',
    '.php4':'application/x-httpd-php',
    '.php3':'application/x-httpd-php',
    '.phtml':'application/x-httpd-php',
    '.phps':'application/x-httpd-php-source',
    '.js':'application/x-javascript',
    '.swf':'application/x-shockwave-flash',
    '.sit':'application/x-stuffit',
    '.tar':'application/x-tar',
    '.tgz':['application/x-tar', 'application/x-gzip-compressed'],
    '.xhtml':'application/xhtml+xml',
    '.xht':'application/xhtml+xml',
    '.zip':['application/x-zip', 'application/zip', 'application/x-zip-compressed'],
    '.mid':'audio/midi',
    '.midi':'audio/midi',
    '.mpga':'audio/mpeg',
    '.mp2':'audio/mpeg',
    '.mp3':['audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'],
    '.aif':'audio/x-aiff',
    '.aiff':'audio/x-aiff',
    '.aifc':'audio/x-aiff',
    '.ram':'audio/x-pn-realaudio',
    '.rm':'audio/x-pn-realaudio',
    '.rpm':'audio/x-pn-realaudio-plugin',
    '.ra':'audio/x-realaudio',
    '.rv':'video/vnd.rn-realvideo',
    '.wav':['audio/x-wav', 'audio/wave', 'audio/wav'],
    '.bmp':['image/bmp', 'image/x-windows-bmp'],
    '.gif':'image/gif',
    '.jpeg':['image/jpeg', 'image/pjpeg'],
    '.jpg':['image/jpeg', 'image/pjpeg'],
    '.jpe':['image/jpeg', 'image/pjpeg'],
    '.png':['image/png', 'image/x-png'],
    '.tiff':'image/tiff',
    '.tif':'image/tiff',
    '.css':'text/css',
    '.html':'text/html',
    '.htm':'text/html',
    '.shtml':'text/html',
    '.txt':'text/plain',
    '.text':'text/plain',
    '.log':['text/plain', 'text/x-log'],
    '.rtx':'text/richtext',
    '.rtf':'text/rtf',
    '.xml':'text/xml',
    '.xsl':'text/xml',
    '.mpeg':'video/mpeg',
    '.mpg':'video/mpeg',
    '.mpe':'video/mpeg',
    '.qt':'video/quicktime',
    '.mov':'video/quicktime',
    '.avi':'video/x-msvideo',
    '.movie':'video/x-sgi-movie',
    '.doc':'application/msword',
    '.docx':['application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip'],
    '.xlsx':['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'],
    '.word':['application/msword', 'application/octet-stream'],
    '.xl':'application/excel',
    '.eml':'message/rfc822',
    '.json':['application/json', 'text/json']
};
  • 写回答

1条回答 默认 最新

  • qq_28485527 2019-12-02 10:16
    关注
    评论

报告相同问题?

悬赏问题

  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容