在MVC应用程序中存储下载链接

时间:2018-10-06 13:47:50

标签: c# asp.net-mvc

我目前正在构建一个将销售数字电影的MVC C#Web应用程序。基本上,将允许用户登录并创建帐户并将电影添加到购物车。加入购物车后,他们可以继续付款。如果付款成功,他们将收到该电影的下载链接。我想了解如何在我的Web应用程序中包含此功能?

感谢您的帮助,因为我是这门语言的新手。

2 个答案:

答案 0 :(得分:0)

您将使用数据库将电影的真实位置存储在数据库中,一旦确认成功付款,您可以生成一个链接,该链接在一段时间后会过期,您可以通过添加一个附加条目来完成此操作到指定x用户y时间的读取权限的数据库中。

每次用户尝试使用该链接时,您首先可以查看该用户是否已通过身份验证,其链接是否已过期(通过检查数据库)以及链接是否已过期,请确保发出请求的用户是该用户授予下载许可的条件,如果所有这些条件都返回true,则可以继续返回文件以直接下载。...

您提出问题的方式遗漏了太多变量,导致了其他许多问题……您将使用哪个数据库,无论是托管在云还是专用服务器上……事实证明,您将使用什么付款服务提供商...等等...您的问题太过广泛了。

答案 1 :(得分:0)

创建下载操作

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);
}

您可以从数据库中读取文件