Загрузка файла FTP без задержек в пути пользователя больше, чем первоначальная загрузка - PullRequest
1 голос
/ 21 июня 2011

Интересно, как сделать следующее:

Я загружаю файл на свой сервер, но не хочу хранить его на своем сервере.Этот файл представляет собой видеофайл и загружен пользователями, которые хотят опубликовать свое видео на сайте для просмотра их друзьями.

Я использую NeatUpload в качестве элемента управления загрузкой, поскольку я не совсемразрешено использовать флэш, хотя если аргумент для использования флэш больше, чем аргумент для его не использовать, то я мог бы убедить ответственных лиц, что это жизнеспособный вариант.

Так что, как только файл находится в потокена моем сервере я затем загружаю его через ftp на потоковые серверы, с которых он будет воспроизводиться.

Как я могу получить это на ftp, не задерживая пользователя?Я уже задержал их доставку на свой сервер, я не хочу удваивать время ожидания.

Я уже написал код, который выполняет загрузку и FTP, я просто ищу правильный способсделать ftp, не задерживая пользователя.

Ответы [ 2 ]

0 голосов
/ 21 июня 2011

Вот как вы можете сделать резьбовой бит:

Stream stream = new MemoryStream();                
inputFileId.FileContent.CopyTo(stream);

ThreadPool.QueueUserWorkItem(delegate { SendViaFTP(inputFileId.FileName, stream); });
0 голосов
/ 21 июня 2011

Лично я использую комбинацию ASP.NET, папки базы данных / файловой системы и консольного приложения, работающего в качестве запланированной задачи.

Когда пользователь загружает файл, я помещаю файл в специальную папку «подбора», при необходимости генерирую запись в базе данных (если требуется передать больше информации, чем просто файл).

Затем часть ASP.NET готова.

Консольное приложение, выполняемое как запланированное задание (например, каждые 5 минут), выполняет итерацию всех записей БД и / или файловой системы, обрабатывая каждую из них, загружая ее на свой другой сервер через FTP и удаляя файл и запись БД после того, как она была обрабатываются.

(Вероятно, это решение критикуется как «решение бедняка» с точки зрения технологии (например, без использования служб Windows), хотя в моих проектах это всегда работало довольно хорошо.)

...