У меня есть функциональное приложение NodeJS, которое конвертирует видеофайлы и помещает их в «преобразованный» каталог. Я использую модули express, http и multer. У меня проблема с загрузкой готовых видео. Разве я не могу увидеть, загрузить законченное видео в браузере, если я просто укажу на него?
т.е. когда я ввожу следующее
http://localhost:8080/converted/converted.avi
я получил
Не удается получить файл /converted/converted.avi
Полная часть заголовка моего приложения node
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/'}));
Вероятно, это не имеет значения, так как есть другие проблемы, но это фактический код, который я использую для клиента Adobe AIR для фактической загрузки
(ссылка http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLLoader.html)
_urlLoader = new URLLoader();
_urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
_urlLoader.addEventListener(Event.COMPLETE,
function(e:Event):void
{
var air:File = File.desktopDirectory.resolvePath("converted.mp4");
//var file:File = File.desktopDirectory.resolvePath("AIR Test");
var fs:FileStream = new FileStream();
fs.open(air, FileMode.WRITE);
fs.writeBytes(_urlLoader.data);
fs.close();
air.downloaded = true;
});
Использование следующей простой настройки для экспресс-обслуживания статического каталога ДОЛЖНО работать, но
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