можно ли загружать непосредственно на удаленный сервер с помощью SFTP на ASP.net MVC

StackOverflow https://stackoverflow.com/questions/1655265

  •  11-09-2019
  •  | 
  •  

Вопрос

В настоящее время я что-то разрабатываю, используя asp.net MVC, но у меня еще нет опыта работы с этим, поэтому, пожалуйста, помогите мне.

У меня есть форма для загрузки видео пользователем.Текущая идеальная концепция загрузки на удаленный сервер состоит в том, чтобы загрузить его на текущий сервер, а затем использовать FTP для отправки его на удаленный сервер.

Для меня это не совсем быстро, так как вам нужно загрузить на текущий сервер (время x1), а затем текущий сервер отправить на новый сервер (время x2), так что время увеличивается вдвое.

Итак, моя идея состоит в том, чтобы заставить пользователя загрузить его на текущий сервер и ПОКА пользователь загружает, текущий сервер добавляет файл в БД, а также одновременно отправляет файл на удаленный сервер с помощью SFTP...

возможно ли это и есть ли в этой концепции дыры в безопасности?

Большое спасибо

Это было полезно?

Решение

Я бы рекомендовал использовать НУЛЬ FTP-сервер для вашего тестирования.Если вы подключитесь к нему с помощью клиента Filezilla, вы заметите, что он предлагает пользователю принять SSL-ключ.Он делает это так же, как putty.exe или любой другой SSH-клиент.

Итак, вашему коду просто нужно принять SSL-соединение, и с этого момента это просто обычные команды FTP.

Программно я не знаю, как принять сертификат, поэтому все, что я могу предложить, это настроить пакетный файл для запуска sftp-клиента Putty и отправки файлов, а затем заставить ваш код вызывать пакетный файл.Я почти уверен, что ASP поддерживает вызов пакетного файла.

Другие советы

У меня была другая идея.Вы можете купить версию WinSCP за 30 долларов, и она синхронизирует локальный каталог с удаленным каталогом SFTP.Это избавит вас от необходимости программировать его.

Вы можете загрузить непосредственно на SFTP, используя Java-апплет.Эти апплеты имеют перехватчики, позволяющие вам (приложению ASP.NET MVC) узнать, когда загрузка завершена.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top