使用node.js将文件从网址下载到服务器
问题描述:
我需要将文件从任何网址下载到运行该应用程序的服务器。我在Node.js中使用了以下代码。它在localhost的情况下工作。但不是在服务器的情况下。使用node.js将文件从网址下载到服务器
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盒)?如果没有分配权限
+0
实际上这是我第一次使用Node.js ..所以我通过使用异常处理来获得写权限错误 –
+0
我相信你不会在服务器上写任何东西。您只是流式传输下载的内容..您需要添加console.log并查看会发生什么.. – notionquest
您是否在服务器上发生错误?你正在流式传输下载的文件吗? – notionquest
服务器上没有错误 –