Ни. Amazon S3 предлагает очень простой API для приема загрузок. Вы можете использовать SimpleDB или свою базу данных SQL для отслеживания URL-адресов и разрешений. Установите для всей корзины S3 значение private и выполните аутентификацию, используя ключ AWS на сервере ASP.NET.
Для загрузки на S3 требуется очень мало кода, а для выполнения буперинга в SQL требуется совсем немного.
Как только они окажутся в S3, возьмите библиотеку Resizer для изображений и плагин S3 Reader , и вся ваша система сможет работать менее чем за час. И - это будет правильно масштабироваться. Нет ограничений по объему диска или базы данных. Когда-либо.
Вы можете реализовать авторизацию, используя событие AuthorizeImage библиотеки Image Resizer. Просто сгенерируйте AccessDeniedException, если доступ не разрешен для текущего пользователя.
Если вы хотите немного настроить производительность, добавьте плагины DiskCache и CloudFront. CloudFront может кэшировать общедоступные изображения (недорого), а DiskCache будет обрабатывать частные изображения, обслуживая их со скоростью статических файлов.