Как я могу прочитать файловый поток SQL Server с ASP.NET Core
Я ищу способ конвертировать Pic.PathName()
а также GET_FILESTREAM_TRANSACTION_CONTEXT()
предоставить ссылку для скачивания в ASP.NET Core.
я видел SqlFileStream
в.NET Framework, но он не работает в.NET Core.
1 ответ
Я не думаю, что есть разумный способ получить доступ к дескрипторам файлов для файловых потоков из ядра.NET. С технической точки зрения в Windows вы можете получить дескриптор файла через P/Invoke и драйвер ODBC, но вы, вероятно, никогда не захотите этого делать.
Потому что вы можете очень легко получить потоковый доступ к двоичному файлу потока через SQL Server. Использование доступа на основе дескрипторов имеет небольшое преимущество в производительности, но, вероятно, этого недостаточно. Если вам это действительно нужно, вам, вероятно, лучше использовать FileTables и просто получить доступ к файлу по пути UNC.
В любом случае, двоичные объекты файлового потока доступны как столбцы varbinary(max) в таблице, а.NET SqlClient поддерживает потоковые большие двоичные объекты. См. SqlClient Streaming Support для информации и примеров. Если это большой файл, вы хотите передать результат непосредственно клиенту.