我有一个ASP.NET网站.我想将文件上传到网站并将其保存到SqlServer 2012中的FileTable中.
上传后,我的网站代码有一个Stream对象,我想用它来保存
System.IO.File.Create()
Run Code Online (Sandbox Code Playgroud)
我去的时候可以在Windows资源管理器中访问FileTable
\\ComputerName\FileStremShareName\FileStreamDirectoryName\FileTableName
Run Code Online (Sandbox Code Playgroud)
我可以使用Windows资源管理器在此文件夹中手动创建文件.我也可以使用SQL将文件插入到File表中.在这两种情况下,Windows资源管理器和SQL Server都按预期显示文件.
但是,如果我尝试使用System.IO.File.CreateFile在路径中创建文件,例如
File.Create(\\\\ComputerName\FileStremShareName\FileStreamDirectoryName\FileTableName\myfile.jpg)
Run Code Online (Sandbox Code Playgroud)
我收到消息"访问路径'[路径]'被拒绝"
我认为这是因为我的IIS应用程序池标识无权读取/写入此位置.
通常,我会进入NTFS权限并分配对身份帐户的读/写访问权限,但我无法执行此操作,因为基础文件夹对我来说是隐藏的.
我曾考虑我的Stream对象转换成字节数组,并使用SQL将其插入的FileTable但这似乎效率不高,因为我要流先转换成字节数组为它随后被传递到SQL.这似乎是我解析我的文件数据两次以保存它一次.
是否可以使用File.Create或类似的内容在ASP.NET网站中写入文件表.如果是这样,我该怎么做?