Node.js 从本地NodeJS服务器下载视频文件

Node.js 从本地NodeJS服务器下载视频文件,node.js,air,download,binaryfiles,urlloader,Node.js,Air,Download,Binaryfiles,Urlloader,我有一个函数NodeJS应用程序,它可以转换视频文件并将它们放在“转换”目录中。我正在使用express、http和multer模块。我遇到的问题是下载完成的视频。如果我只是简单地指向它,难道我不能在浏览器中看到、加载完成的视频吗 当我进入下面的 http://localhost:8080/converted/converted.avi 我明白了 无法获取/转换/转换的.avi 我的节点应用程序的完整标题部分是 var express = require('express'); var app

我有一个函数NodeJS应用程序,它可以转换视频文件并将它们放在“转换”目录中。我正在使用express、http和multer模块。我遇到的问题是下载完成的视频。如果我只是简单地指向它,难道我不能在浏览器中看到、加载完成的视频吗

当我进入下面的

http://localhost:8080/converted/converted.avi
我明白了

无法获取/转换/转换的.avi

我的节点应用程序的完整标题部分是

var express = require('express');
var app = express();
    var multer  = require('multer'),
           fs = require('fs'),
       ffmpeg =  require('./lib/fluent-ffmpeg');

    var server = require('http').createServer(app);
    var io = require('socket.io').listen(server,{transports:['flashsocket', 'websocket', 'htmlfile', 'xhr-polling', 'jsonp-polling']});

    var port = Number(8080);
    server.listen(port);

    app.use(multer({ dest: './uploads/'}));
可能不相关,因为还有其他问题,但这是我用于AdobeAIR客户端进行实际下载的实际代码
(参考)

使用以下简单的设置为express提供静态目录应该可以工作,但是

var express = require('express');
var app = express();

console.log('static and __dirname = '+__dirname)
app.use(express.static(__dirname+'/public'));

app.listen(process.env.PORT || 3000);
当我把一个简单的index.html放到服务器的公用文件夹中时,我仍然只能在浏览器中看到以下内容

无法获取/public/index.html


除非您明确告诉Node.js web服务器,否则它们不会提供目录服务


如果您使用的是Express,请使用
static()
命令它为该目录提供服务。

为什么您希望您的服务器知道如何处理该请求?应该可以工作,但即使在尝试设置静态目录时,我也看不到/public/index.html。请参阅我上面编辑的问题…@eco_bach just access
/index.html
@eco_bach:
static()
将直接在根目录中提供文件(除非您另有说明)。没有理由在URL中显示
public
var express = require('express');
var app = express();

console.log('static and __dirname = '+__dirname)
app.use(express.static(__dirname+'/public'));

app.listen(process.env.PORT || 3000);