Доступ запрещен при вставке файла в Sql Server 2012 FileTable с использованием File.CreateFile на веб-сайте ASP.NET

У меня есть сайт ASP.NET. Я хочу загрузить файл на веб-сайт и сохранить его в FileTable в SqlServer 2012.

После загрузки код моего веб-сайта содержит объект Stream, который я хотел бы сохранить с помощью

System.IO.File.Create()

FileTable доступен в Windows Explorer, когда я иду в

\\ComputerName\FileStremShareName\FileStreamDirectoryName\FileTableName

Я могу вручную создавать файлы в этой папке с помощью проводника Windows. Я также могу использовать SQL для вставки файлов в таблицу файлов. В обоих случаях Windows Explorer и SQL Server показывают файлы, как и ожидалось.

Однако, если я попытаюсь использовать System.IO.File.CreateFile для создания файлов в пути, например,

File.Create(\\\\ComputerName\FileStremShareName\FileStreamDirectoryName\FileTableName\myfile.jpg)

Я получаю сообщение "Доступ к пути" [путь] 'запрещен "

Я предполагаю, что это потому, что у моего удостоверения пула приложений IIS нет доступа для чтения / записи в это местоположение.

Обычно я заходил в разрешения NTFS и назначал права на чтение / запись учетной записи Identity, но я не мог этого сделать, потому что основная папка скрыта от меня.

Я рассмотрел вопрос о преобразовании моего объекта Stream в байтовый массив и использовании SQL для его вставки в FileTable, но это кажется неэффективным, потому что мне сначала нужно преобразовать поток в байтовый массив, чтобы затем он был передан в SQL. Похоже, я анализирую данные моего файла дважды, чтобы сохранить его один раз.

Можно ли записать в таблицу файлов с помощью File.Create или аналогичного на веб-сайте ASP.NET. Если да, то как мне это сделать?

Ответы на вопрос(3)

Ваш ответ на вопрос