我正在开发一个ASP.NET网站。在网站上,用户需要创建一个账户,然后他们可以上传他们的作品视频。观众可以自由地查看这些视频。我使用HTML5的<video>
标签来显示视频。我使用SQL Server数据库。现在,当用户上传视频时,应该把视频存储在哪里?我应该把所有视频都存储在同一个文件夹中吗?如果是的话,可能会有多个同名的视频,如何处理这种情况呢?
我正在开发一个ASP.NET网站。在网站上,用户需要创建一个账户,然后他们可以上传他们的作品视频。观众可以自由地查看这些视频。我使用HTML5的<video>
标签来显示视频。我使用SQL Server数据库。现在,当用户上传视频时,应该把视频存储在哪里?我应该把所有视频都存储在同一个文件夹中吗?如果是的话,可能会有多个同名的视频,如何处理这种情况呢?
如果视频可能具有相同名称,您会想使用某种与其关联的ID对其进行标记。基本上,您将在表中存储包含上传信息(上传者,上传日期,视频类型等)的记录。您还希望存储实际文件在文件服务器上的路径,然后使用该路径查看它们。
将视频上传到每个用户的文件夹中,或者为视频分配一个随机唯一名称(如Guid),然后向数据库添加一行,指示实际名称和视频文件所在的文件夹。
看一下这个关于文件名编码的回答:https://dev59.com/-nRA5IYBdhLWcg3wyA_1#1638761
在SQL中,您需要在原始文件名(或要显示的名称)和您生成的base64文件名之间保持链接。
可能会在您生成的base64文件名中发生冲突(这应该是随机生成的),但这将很容易解决。
另外:https://www.youtube.com/watch?v=gocwRvLhDf8,有关youtube文件名的内容