Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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 处理https文件响应错误_Javascript_Node.js_Http_Stream_Node Webkit - Fatal编程技术网

Javascript 处理https文件响应错误

Javascript 处理https文件响应错误,javascript,node.js,http,stream,node-webkit,Javascript,Node.js,Http,Stream,Node Webkit,如果服务器上不存在文件,或者无法与服务器连接以获取文件,我将如何处理这种情况 在下面的代码中,文件下载仍然发生,并且文件为空 var https = require('https'); var fs = require('fs'); var exec = require('child_process').exec; var file = fs.createWriteStream('mediaserver_setup.exe'); var len = 0; var req = https.get(

如果服务器上不存在文件,或者无法与服务器连接以获取文件,我将如何处理这种情况

在下面的代码中,文件下载仍然发生,并且文件为空

var https = require('https');
var fs = require('fs');
var exec = require('child_process').exec;
var file = fs.createWriteStream('mediaserver_setup.exe');
var len = 0;
var req = https.get(url + 'appdata/update_setup.exe', function (res) {
  if (res.statusCode === 404) {
    alert('problem with request:');
  }
  res.on('data', function (chunk) {
    file.write(chunk);
    len += chunk.length;
    var percent = (len / res.headers['content-length']) * 100;
    progressLoading.val(percent);
  });
  res.on('end', function () {
    setTimeout(function () {
      file.close();
    }, 500);
  });
  file.on('close', function () {
    win.close();
    exec('update_setup.exe');
  });
});
req.on('error', function (err) {
  alert('problem with request: ');
});

对请求使用
错误
事件,或检查响应的状态代码:

var https = require('https');
var req = https.get(options, function(res) {
  // use res.statusCode
  if (res.statusCode === 404) {
    // example for checking 404 errors
  }
});

req.on('error', function(err) {
  // an error has occurred
});

在回调外部使用事件处理程序。