首页 > 解决方案 > 如何使用 C# 在 Sql-Server 中插入视频?

问题描述

当我尝试在 Sql server 中保存视频时,我遇到了以下错误:请求过滤模块配置为拒绝超过请求内容长度的请求。

//Converting a file Uploaded in byte before inserting it in DB.

using (BinaryReader br = new BinaryReader(fs))
{
   byte[] bytes = br.ReadBytes((Int32)fs.Length);
   string constr = (@"Data Source=(localdb)\MSSQLLocalDB;....");               

   using (SqlConnection con = new SqlConnection(constr))
   {
      string query = "insert into tblFiles values (@Name, @ContentType, @Data)";

      using (SqlCommand cmd = new SqlCommand(query))
      {
         //// ????
      }
   }
}

//我在 Sql_Server 中使用的表类型

CREATE TABLE tblFiles(Id int IDENTITY PRIMARY KEY,Name 
           VARCHAR(100) NOT NULL,
            ContentType NVARCHAR(4000)NOT NULL, Data VARBINARY(MAX)NOT 
              NULL);

标签: c#asp.netsql-server

解决方案


与其尝试将视频数据编码为字节并将其存储在数据库中,不如将视频存储在磁盘上并将视频的路径存储在数据库中。因此,与其让你的数据库膨胀,你有更有效的设计。

在 DB 中存储图像 - 是还是不是?


推荐阅读