c# - 如何为网站存储视频?

标签 c# html asp.net video

我正在开发一个 ASP.NET 网站。在网站上,用户需要创建一个帐户,然后他们才能上传他们的作品视频。观众可以自由观看。我使用 html5 <video>标签显示视频。我正在使用 sql server 数据库。现在,当用户上传视频时,将视频存储在哪里?我应该将所有视频存储在同一个文件夹中吗?如果是,则可以有多个同名视频。怎么处理?

最佳答案

一种解决方案是在名称中以某种方式嵌入一个 id。

你可以这样加前缀

343-Video.mp4, 344-Video.mp4, 345-How to make a sandwich.mp4

或者您可以用 guid 替换整个东西并将所有信息存储在数据库中。

如果您使用 guid,出于方便,我会亲自将所有视频存储在同一个文件夹中,以使检索尽可能简单。一个问题是 SEO,搜索引擎喜欢文件名,他们不喜欢名称中的 ID。

要获取文件名,您可以制作文件夹并将其命名为 ID,然后将视频放在那里,或者您可以制作一个 Controller 来提供来自 ID 的文件。到目前为止,最简单的方法是拥有以 ID 作为名称的文件夹,然后将视频放在其中,您还可以在其中适本地存储不同格式的相同视频。

/videos/343/如何制作三明治.mp4,/videos/343/如何制作三明治.webm

/videos/344/video.mp4,/videos/344/video.webm

也就是说,如果您有足够的存储空间并想使用自己的服务器,否则您可以通过使用托管视频的服务来节省大量服务器成本(包括存储空间和流量),例如YouTube 或 Vimeo

关于c# - 如何为网站存储视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40342199/

相关文章:

c# - 如果 if 结构的第一部分为假,会发生什么?

javascript - 为什么 HTML 按钮不调用 onclick 事件分配的函数

c# - 将数据绑定(bind)到gridview

c# - 获取页脚的 RowIndex

mysql - Gridview 不使用 Mysql 数据库进行过滤

c# - 在 BundleConfig.cs 中找不到 BundleCollection

c# - ASP.NET Core - 对 WebAPI 使用 Cookie 和 JWT

html - 与 UL & Flex CSS 混淆,2 行,2 列,共 4 项

javascript - 如何在 javascript 中制作图像脸鼠标?

c# - 如何区分 IEnumerable<int> 和 IEnumerable<MyClass>?