загрузить и скачать большой файл через Интернет

У меня есть требование, когда мне нужно загрузить большой файл (может быть 10 ГБ) в общее пространство (Windows) (например, APP1). и у нас есть отдельное приложение (например, APP2) в другой сети, теперь мне нужно загрузить тот же файл из второго приложения через Интернет.

Мой подход заключается в том, что мне нужно создать веб-сервис для загрузки документа в общее пространство. а затем предоставить веб-сервис для внешнего мира для загрузки документа.

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


person Pedantic    schedule 09.04.2014    source источник
comment
Каково ваше определение «веб-сервиса»?   -  person home    schedule 10.04.2014
comment
веб-служба означает обычные веб-службы SOAP...   -  person Pedantic    schedule 11.04.2014


Ответы (1)


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

.NET
Создать такую ​​веб-службу с помощью WCF относительно просто. Он поддерживает потоковую передачу, которая может быть функционально функциональной, надежной и безопасной. Подробнее об этом можно прочитать здесь . Этот подход подразумевает, что у вас есть огромный диск для хранения файлов, и у вас есть хороший план восстановления на случай, если он выйдет из строя или просто умрет.

.NET, Java и т. д. — облачные

Есть много поставщиков, которые предоставляют облачное хранилище и API для работы с ним. Это идеальное решение для быстрого старта. Они заботятся о доступности данных, избыточности и т. д. Все, что вам нужно сделать, это использовать их API для загрузки и скачивания файлов и платить им за это :) Во многих случаях это того стоит. Лично я работал с Amazon S3. Их API прост в использовании, и для этого есть много документации.

ИЗМЕНИТЬ:

Amazon S3 предоставляет простой интерфейс веб-сервисов, который можно использовать для хранения и извлечения любого объема данных в любое время из любого места в Интернете.

Думаю, вам следует ознакомиться с обзором Amazon S3 здесь. Это также предоставляет API для ряда различных платформ — Java, .NET, Node.js и т. д. Вы можете найти полный список здесь.

Надеюсь, поможет!

person Maksym Strukov    schedule 11.04.2014
comment
Привет, Максим, я работаю над java... как вы предлагаете, но наш клиент может использовать .Net для загрузки файла. насколько я понимаю, Amazon S3 предоставит сервер, на котором они будут размещать файл, и мы можем запросить файл с помощью API. Можно ли использовать связь веб-сервиса с сервером Amazon S3 для загрузки и выгрузки файлов? - person Pedantic; 12.04.2014