小编Pau*_*ant的帖子

使用ASP.NET网站中的File.CreateFile将文件插入Sql Server 2012 FileTable时访问被拒绝

我有一个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网站中写入文件表.如果是这样,我该怎么做?

c# sql sql-server asp.net filetable

4
推荐指数
1
解决办法
2411
查看次数

标签 统计

asp.net ×1

c# ×1

filetable ×1

sql ×1

sql-server ×1