如何将docx文件从SQL Server数据库检索到ASP.NET核心控制台应用程序?
我正在使用ASP.NET核心控制台应用程序制作一个微型应用程序,需要从服务器数据库检索如何将docx文件从SQL Server数据库检索到ASP.NET核心控制台应用程序?,asp.net,sql-server,asp.net-core,Asp.net,Sql Server,Asp.net Core,我正在使用ASP.NET核心控制台应用程序制作一个微型应用程序,需要从服务器数据库检索.docx文件 有任何示例或建议吗?我建议使用新的.Net Core 3.1 Windows服务模板。我最近编写了3个小型服务,用于从其他数据源更新数据库表。一个是LDAP,另一个是SFTP服务器上可用的Excel文件 根据您的用例,我建议您使用SqlConnection类连接到sqlserver,并从那里访问文档,或者使用SFTP(数据库服务器或非数据库服务器)访问文档。有一些用于.Net Core的SFTP
.docx
文件
有任何示例或建议吗?我建议使用新的.Net Core 3.1 Windows服务模板。我最近编写了3个小型服务,用于从其他数据源更新数据库表。一个是LDAP,另一个是SFTP服务器上可用的Excel文件 根据您的用例,我建议您使用SqlConnection类连接到sqlserver,并从那里访问文档,或者使用SFTP(数据库服务器或非数据库服务器)访问文档。有一些用于.Net Core的SFTP库和大量在线教程 在这两种情况下,您都会使用首选连接将文件作为某种数据流本地下载。一旦文件在本地下载到服务器上,您就可以进一步利用SFTP在网络上的任何位置发送文件
问:为什么要从“数据库”服务器下载docx文件?docx文件是否只是“存在”在一台服务器上,而该服务器上的数据库也恰好位于该服务器上?仅用于将数据作为流读取并复制到文件流。乙二醇
var fn = "Seat Assembly.doc";
var outFile = $@"c:\\temp\\{fn}";
using (var con = new SqlConnection("server=localhost;database=AdventureWorks2017;Integrated Security=true"))
{
con.Open();
var cmd = con.CreateCommand();
cmd.CommandText = @"
select Document
from production.document
where FileName = @fn";
cmd.Parameters.Add(new SqlParameter("@fn", fn));
using (var rdr = cmd.ExecuteReader())
using (var fs = File.OpenWrite(outFile))
{
if (!rdr.Read())
{
throw new InvalidOperationException($"File not found {fn}");
}
rdr.GetStream(0).CopyTo(fs);
fs.Close();
}
}
问:为什么要从“数据库”服务器下载docx文件?docx文件是否只是“存在”在一台服务器上,而该服务器上的数据库也恰好位于该文件上?