Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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 使用node.js将文件从url下载到服务器_Javascript_Node.js - Fatal编程技术网

Javascript 使用node.js将文件从url下载到服务器

Javascript 使用node.js将文件从url下载到服务器,javascript,node.js,Javascript,Node.js,我需要一个从任何url下载文件到运行应用程序的服务器的要求。我在Node.js中使用了以下代码。它在localhost的情况下工作。但不适用于服务器。 var express = require('express'); var app = express(); var http = require('http'); var https = require('https'); var request = require('request'); var fs = requ

我需要一个从任何url下载文件到运行应用程序的服务器的要求。我在Node.js中使用了以下代码。它在localhost的情况下工作。但不适用于服务器。

var express = require('express');
var app     = express();
var http    = require('http');
var https   = require('https');
var request = require('request');
var fs      = require('fs');
var path    = require('path');

app.get('/', function( request, response ){
    response.send('connection established...!');
});

app.get('/download', function(request, response){
    var file     = "https://c1.staticflickr.com/6/5219/5450451580_7f066f7868_b.jpg"; 

    var filename = path.basename( file );
    var ssl      = file.split(':')[0];
    var dest     = __dirname +'downloads/'+ filename;
    var stream   = fs.createWriteStream( dest );

    if ( ssl == 'https') {
        https.get( file, function( resp ) {
            resp.pipe( stream );
            response.send('file saved successfully.*');
        }).on('error', function(e) {
            response.send("error connecting" + e.message);
        });
    } else {
        http.get( file, function( resp ) {
            resp.pipe( stream );
            response.send('file saved successfully.*');
        }).on('error', function(e) {
            response.send("error connecting" + e.message);
        });
    }
});
app.listen(process.env.PORT || 3000);

您是否具有对服务器的写入权限(假设您的本地计算机是mac/windows,服务器是linux机器)?如果未分配权限

您是否具有对服务器的写入权限(假设您的本地计算机是mac/windows,服务器是linux机器)?如果不分配特权

服务器上是否有错误?您正在对下载的文件进行流式传输吗?服务器上没有错误您在服务器上有任何错误吗?您正在流式传输下载的文件吗?服务器上没有错误实际上这是我第一次使用Node.js。。所以,我是否通过使用异常处理获得写入权限错误?我相信您没有在服务器上写入任何内容。您正在对下载的内容进行流式处理。。你需要添加console.log,看看会发生什么。实际上,这是我第一次使用Node.js。。所以,我是否通过使用异常处理获得写入权限错误?我相信您没有在服务器上写入任何内容。您正在对下载的内容进行流式处理。。您需要添加console.log并查看会发生什么。。