У меня есть проект, который требует довольно сложного процесса, и я хочу убедиться, что знаю лучший способ сделать это. Я использую ASP.net C# с Adobe Flex 3. Сервер приложений — Mosso (облачный сервер), а сервер хранения файлов — Amazon S3. Существующий сайт можно просмотреть по адресу NoiseTrade.com.
Мне нужно сделать это:
- Разрешить пользователям загружать файлы MP3 в альбом "виджет"
- После того, как пользователь загрузил свой альбом/виджет, мне нужно автоматически заархивировать mp3 (для загрузки другими пользователями) и загрузить zip вместе с дорожками mp3 в Amazon S3.
На самом деле у меня это уже работает (используя обработку на стороне клиента во Flex), но это больше не работает из-за обновления «безопасности» Adobe flash 10. Итак, теперь мне нужно реализовать это на стороне сервера.
Как я думаю сделать это:
- Сохраните mp3 во временной папке на сервере приложений.
- Когда художник «публикует», создайте zip-архив файлов в этой папке, используя библиотеку С#.
- Запустите процесс загрузки amazon S3 (zip и mp3) и отправьте электронное письмо пользователю, когда он будет завершен (а также удалите временную папку).
Основная проблема, которую я вижу в этом подходе, заключается в том, что если пользователь удалит или добавит трек позже, мне придется обновить zip-файл, но временные файлы больше не будут существовать.
Я не знаю, как лучше всего это сделать, и буду признателен за любые ваши советы.
Спасибо!