如何获取其他服务器上的文件?
类似于这样的关系,我想通过客户客户端中获取公司服务器上的文档,并下载下来,客户中的客户端和服务端用的是wcf,而公司服务器和客户服务器只是一个数据库的连接
------解决方案--------------------可以用SQL语句来获取文件:
select T.c from openrowset(bulk N'D:\DB_Backup\E5KST01\audit_trail_20130419.bak', single_blob) T(c)
------解决方案--------------------在你的客户端服务器的WCF服务代码里调用ReadFile方法,传入你公司服务器上文件的物理路径,即可在客户端服务器端获取到公司服务器文件的二进制流了,之后你可以保存下来,也可以直接回发给客户客户端
[code=csharp]
public static void ReadFile(string filePath)
{
string sql = "select T.c from openrowset(bulk N'" + filePath + "', single_blob) T(c)";
using (SqlConnection connection = new SqlConnection(@"Data Source=xxxxxx;Initial Catalog=master;User ID=xxxx;Password=xxx;"))
{
using (SqlCommand command = new SqlCommand(sql, connection))
{
command.CommandType = CommandType.Text;
command.CommandTimeout = 300;
connection.Open();
using(var reader = command.ExecuteReader())
{
if(reader.Read())
{
SaveFile(reader[0] as byte[], fileName);
}
reader.Close();
}
}
&