需求是这样的:
有一个后端服务器保持文件,有一个前端服务器接受客户端IE的HTTP请求。
当客户端请求一个文件时,先通过前端服务器判断是否有权限,如果有,则
前端服务器到后端服务器取这个文件,然后转发给用户。两个服务器在一个
局域网,前端访问后端使用内网的HTTP,客户端不能直接访问后端服务器。
如何实现前端服务器作为一个管道控制文件的发送,而不是把文件保持到
本地后再发给客户端IE?考虑前端使用代理方法,但好像走的是socket。
有没有其他更简单更好的办法?
有一个后端服务器保持文件,有一个前端服务器接受客户端IE的HTTP请求。
当客户端请求一个文件时,先通过前端服务器判断是否有权限,如果有,则
前端服务器到后端服务器取这个文件,然后转发给用户。两个服务器在一个
局域网,前端访问后端使用内网的HTTP,客户端不能直接访问后端服务器。
如何实现前端服务器作为一个管道控制文件的发送,而不是把文件保持到
本地后再发给客户端IE?考虑前端使用代理方法,但好像走的是socket。
有没有其他更简单更好的办法?
然后在前端服务器访问这个webservice,通过下面的代码,输出文件。
byte[] bytearr;
string sFileName = "文档1";
//Response.Writebtarr, 0, btarr.Length);
Response.AddHeader("Content-Disposition",
"attachment;FileName=" + HttpUtility.UrlEncode(sFileName, System.Text.Encoding.UTF8));
Response.ContentType = "application/octet-stream";
Response.BinaryWrite(bytearr);// (btarr);
Response.Flush();
Response.Close();
Response.End();
[WebMethod]
public byte[] file2ByteArray(string path)
{
System.IO.FileStream Fs = new System.IO.FileStream(path, System.IO.FileMode.Open);
byte[] bytearr=new byte[Fs.Length];
Fs.Read(bytearr, 0, Fs.Length);
Fs.Close();
return bytearr;
}