Хранение ссылок для скачивания в приложении MVC - PullRequest
0 голосов
/ 06 октября 2018

В настоящее время я создаю веб-приложение MVC C #, которое будет продавать цифровые фильмы.По сути, пользователям будет разрешено войти в систему, создать учетную запись и добавить фильмы в корзину.После добавления в корзину они могут приступить к платежам.Если платежи будут успешными, они получат ссылку для загрузки этого фильма.Я хотел бы узнать, как я могу включить эту функцию в свое веб-приложение?

Любая помощь будет оценена, поскольку я новичок в этом языке, спасибо.

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

Создать действие загрузки

public FileResult Download()
{
    //check payment and other condition
    //if condition not passed return null or redirect user to error view
    byte[] fileBytes = System.IO.File.ReadAllBytes(Server.Path($"\\AppData\\{fileName}"));
    return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);
}

Вы можете прочитать файл из базы данных

0 голосов
/ 06 октября 2018

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

Каждый раз, когда пользователь пытается использовать ссылку, вы можете сначала увидеть, прошел ли пользователь проверку подлинности, имеет ли его ссылкаИстек срок действия (путем проверки базы данных), и, если срок его действия не истек, убедитесь, что пользователь, отправивший запрос, является тем пользователем, которому было предоставлено разрешение на загрузку. Если все эти условия возвращают значение true, вы можете продолжить возвращать файл для загрузки напрямую...

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...