2

我正在寻找一种转换方法Pic.PathName()GET_FILESTREAM_TRANSACTION_CONTEXT()提供在 ASP.NET Core 中下载的链接。

SqlFileStream在 .NET Framework 中看到过,但它在 .NET Core 中不起作用。

4

1 回答 1

2

我认为没有一种合理的方法可以从 .NET 核心获取对文件流 blob 的文件句柄访问。从技术上讲,在 Windows 上,您可以通过 P/Invoke 和 ODBC 驱动程序获取文件句柄,但您可能永远不想这样做。

因为您可以通过 SQL Server 非常轻松地获得对文件流 blob 的流式访问。使用基于句柄的访问有一点性能优势,但可能还不够重要。如果你真的需要它,你可能最好使用FileTables,并且只使用 UNC 路径访问文件。

无论如何,文件流 blob 可以作为表上的 varbinary(max) 列访问,并且 .NET SqlClient 支持流 blob。有关信息和示例,请参阅SqlClient 流支持。如果它是一个大文件,您需要将结果直接流式传输到客户端。

于 2019-02-02T18:46:11.777 回答