2008-10-18 3 views
2

У меня было предложено создать приложение ftp на заказ, которое будет загружено пользователями, чтобы иметь возможность загружать видеофайлы (до 100 мб).Как обращаться с загрузкой 100mb для пользователей

  • они хотят, чтобы это было идиотским доказательством (т.е. легко для людей без грамотности). Я предполагаю, что настройка ftp-приложения, такого как FileZilla с их именем пользователя и паролем, будет слишком большой для большинства пользователей.
  • кроссплатформенный (Уч)

Конечно я не первый человек, который подошел к проблеме, как разрешить пользователям загружать большие файлы. Интересно, может ли кто-нибудь дать мне какие-нибудь советы.

ответ

1

(Есть ли у нее быть FTP? FTP имеют проблемы с брандмауэрами, режим ASCII и, конечно, пароль находится в the clear.)

На многих языках имеются библиотеки FTP, которые вы могли бы объединить с небольшим количеством UI-клея, чтобы создать собственное приложение для загрузки. Например, Python имеет ftplib в стандартной библиотеке. В прошлый раз, когда я делал это, было, например, в C с ftplib Pfau, но современные языки сценариев будут намного легче писать, если вы не против накладных расходов на упаковку своего приложения с помощью переводчика.

У вас есть .NET в ваших тегах ... в стандартной библиотеке классов для .NET нет FTP, но вы можете бесплатно скачать сторонние библиотеки. С другой стороны, вы говорите кросс-платформу, поэтому я не уверен, что вы действительно говорите о .NET на клиенте.

Что вы можете сделать, это предоставить несколько способов загрузки, например, базовую загрузку файлов HTTP *, встроенную в ваш сайт, и каждый будет знать, как использовать, и стандартный [S?] FTP-интерфейс для продвинутых пользователей, которые сможет работать с FTP-клиентом. Не то, чтобы работать с FTP-клиентом действительно , что сложно: просто скажите им вставить URL-адрес ftp: // в проводник Windows, и большинство людей должно все наладиться.

*: в идеале, с помощью обратной связи AJAX, чтобы пользователь знал, как происходит их загрузка, и/или, возможно, Flash-загрузчик. И не забудьте выключить/выключить любые правила тайм-аута сценария на сервере, чтобы он не сдавался на полпути через загрузку. Загрузка HTTP никогда не будет оптимальной для файлов порядка 100 МБ, но вы, безусловно, можете улучшить по умолчанию довольно дерьмовую безответственность браузеров здесь.

0

Загрузить на сайт?

Вы можете заставить всех установить Dropbox и создать долю из учетной записи предприятия, к которой у всех есть доступ.

+0

спасибо, я только что отправил их по электронной почте и спросил, есть ли у них какой-то апи. Потому что мне нужен способ получить файлы пользователей после их загрузки. Похож на гладкий наряд. – frosty 2008-10-20 07:47:55

0

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

+0

Да, это действительно жизнеспособно. Какие стратегии вы могли бы предпринять. – frosty 2008-10-20 07:32:23

0

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

Есть ли FTP единственный вариант? Если вы можете реализовать что-то на P2P (bittorrent), вы можете получить функцию возобновления и целостности для больших файлов.

Вот 2, как я получил от прибегая к помощи Bittorent библиотеки

http://sourceforge.net/projects/libbt/

http://www.codeproject.com/KB/cpp/FTKernelAPI.aspx

+0

http://monotorrent.com/ также отличная библиотека .Net torrent. – frosty 2008-10-20 07:35:17

0

Как насчет создания простого приложения Adobe Air с JS и HTML? Я считаю, что теперь он имеет возможность подключения к FTP. Вы также можете использовать сборку в БД для хранения сведений о том, что отправлено где, небольшой размер, кросс-платформу, и вы можете построить его в том, что вам лучше всего (flash, flex, JS/HTML).

У меня есть аналогичные требования, и я рассматриваю использование Adobe air и jQuery или Ext для решения.

+0

Я был бы немного вне зоны комфорта с Adobe Air. Кажется, это сексуальный вариант. Есть что-нибудь с полки. Может быть, вы за что-то создаете? – frosty 2008-10-20 07:51:30

0

В то время как не FTP, вы можете попробовать использовать swfupload для загрузки файлов через HTTP. Мы используем его прибл. Загрузка 100 Мб файлов в IIS и работает достаточно хорошо. не

Обратите внимание, что вы должны установить максимальный размер запроса в web.config до 100 или более МБ ...

0

Выгрузка 100MB файлы не сложнее, чем 1Kb файлов. Вы должны просто убедиться, что приемник (в данном случае сервер) не пытается получить весь файл в памяти. Сервер может сразу записывать данные на диск или в CLOB DB. Сервер считывает из входного потока и записывает в выходной поток с очень небольшим количеством ресурсов.

0

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

Подумайте я предложу 2 маршрута, как bobince упоминается

1) HTTP с использованием SWFUpload (bh213), я использовал его раньше. Это довольно легко настроить и имеет хороший пользовательский интерфейс.

2) затем предложите опцию ftp. Либо использовать браузер, либо что-то вроде filezilla.

 Смежные вопросы

  • Нет связанных вопросов^_^