1

FileTable在 SQL Server 2012 中使用 a,我希望我的用户从FileTable. 我应该使用什么路径?

public ActionResult DownloadFile(string filename)
{
    //string filename = Request.QueryString["MOVIE_FILE"];
    string path = "\\Maaz-laptop\\mssqlservermaaz\\FileDBFileStreamDirectory\\FileDirectory";
    Response.ContentType = "application/force-download;";
    Response.AppendHeader("Content-Disposition", "attachment; filename=" + filename);
    Response.WriteFile(Server.MapPath(path) + filename);
    Response.End();
    return null;
}
4

2 回答 2

2

您可以通过以下查询访问路径,该查询可以是 SQL 函数:

USE database_name;
DECLARE @root nvarchar(100);
DECLARE @fullpath nvarchar(1000);

SELECT @root = FileTableRootPath();
SELECT @fullpath = @root + file_stream.GetFileNamespacePath()
    FROM filetable_name
    WHERE name = N'document_name';

PRINT @fullpath;
GO

是来自MSDN的来源,希望它会帮助别人。

请记住,它是 Windows 共享文件夹的地址,无法生成正确的下载地址,您需要将其更改为以您的域名开头的有效地址或 IIS 识别的地址,在给定的链接中,2已经提供了更多的SQL函数,也可以试试,我还在寻找一个合适的地址来制作下载链接。

于 2018-04-08T07:31:02.347 回答
1

例如,您应该使用以下路径

\\SERVERNAME\FILESTREAM_WINDOWS_SHARE_NAME\FILESTREAM_TABLE_NAME\FILETABLE_DIRECTORY\

请点击此链接获取信息FileTable 示例

于 2016-12-03T11:15:31.203 回答