如何为网站存储视频?

3

我正在开发一个ASP.NET网站。在网站上,用户需要创建一个账户,然后他们可以上传他们的作品视频。观众可以自由地查看这些视频。我使用HTML5的<video>标签来显示视频。我使用SQL Server数据库。现在,当用户上传视频时,应该把视频存储在哪里?我应该把所有视频都存储在同一个文件夹中吗?如果是的话,可能会有多个同名的视频,如何处理这种情况呢?


/videos/用户名/已上传视频? - freshbm
把视频存储在自己的文件夹中是个好主意吗?(可能不是),你有足够的空间吗?!? - Yagami Light
4个回答

3
一种解决方案是在名称中嵌入一个id,可以使用前缀343-Video.mp4, 344-Video.mp4, 345-How to make a sandwich.mp4,也可以用guid替换整个名称并将所有信息存储在数据库中。如果选择guid,建议为了方便存储所有视频在同一个文件夹中,并且可以适当地存储不同格式的相同视频。但这样会影响SEO,搜索引擎喜欢文件名而不喜欢名称中的id。要获取文件名,可以使用包含ID的文件夹或者制作一个控制器从ID中提取文件。最简单的方法是创建以ID命名的文件夹,将视频放置其中,也可以使用服务来托管您的视频,例如YouTube或Vimeo,以节省服务器成本。

关于有关SEO和将ID与名称分离的注释,我会说StackOverflow经常出现在我的搜索中,并查看它们的URL。 - Henrik Ginnerup
我可能会将视频存储在服务器上,因为我不希望它在其他地方可用,因为其中一些内容是付费的。我可能会使用Google云引擎来实现。 - Kishan Shah

0

如果视频可能具有相同名称,您会想使用某种与其关联的ID对其进行标记。基本上,您将在表中存储包含上传信息(上传者,上传日期,视频类型等)的记录。您还希望存储实际文件在文件服务器上的路径,然后使用该路径查看它们。


我在数据库中有ID,但是关于我存储的文件夹呢?我想它不会允许使用相同名称存储视频。 - Kishan Shah
用户是否有更改上传文件名称的选项?您始终可以抛出错误并提示他们在上传文件之前更改名称。 - TrevorGoodchild
这个线程似乎有一些见解:http://stackoverflow.com/questions/10356458/multiple-files-same-name - TrevorGoodchild
我认为要求用户更改文件名并不是一个有效的选项。 - Kishan Shah

0

将视频上传到每个用户的文件夹中,或者为视频分配一个随机唯一名称(如Guid),然后向数据库添加一行,指示实际名称和视频文件所在的文件夹。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接