gpt4 book ai didi

c# - 在 ASP.NET Core 中通过代码优先在 SQL 中使用 FileStream

转载 作者:行者123 更新时间:2023-12-05 07:19:07 26 4
gpt4 key购买 nike

我需要创建一个表并在该表中使用 FileStream。在 SQL Server 表中,我需要使用这一列:

CREATE TABLE TestTable
(
FileID UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL UNIQUE DEFAULT(NEWID()),
Pic VARBINARY(MAX) FILESTREAM NULL
)

现在在 EF Core 代码优先中,我该如何创建此列?

最佳答案

在 EF core 中,您不能使用 FileStream 将文件保存到数据库。

相反,您需要将文件转换为 byte[](这将在 sql server 中转换为 varbinary(max))并在使用内存流上传时复制文件内容.

型号:

public byte[] Picture { get; set; }

将文件转换为字节数组:

using (var ms = new MemoryStream())
{
file.CopyTo(ms);
byte[] fileBytes = ms.ToArray();
string s = Convert.ToBase64String(fileBytes);
// act on the Base64 data
}

引用

Store files in database using Entity Framework Core

How to convert a file into byte array in memory?

关于c# - 在 ASP.NET Core 中通过代码优先在 SQL 中使用 FileStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57999731/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com