我做了一个下载页面,功能为:点击页面上的按钮以后开始下载相应文件。
要下载的文件不是放在相应的WEB文件夹下,而是放在另一个分驱。
下载时通过服务器上的物理路径去读取相应下载文件,然后在下载页上输出下载。
代码如下:
string s_RarFile = "d:/下载/作业.rar";
FileStream myFile = File.OpenRead(s_RarFile);
byte[] fileCont = new byte[myFile.Length];
myFile.Read(fileCont,0,(int)myFile.Length);
Page.Response.Clear();
Page.Response.AddHeader("Content-Type", "application/zip" );
Page.Response.AddHeader("Content-Disposition","attachment;filename=" + HttpUtility.UrlEncode(s_RarFile,System.Text.Encoding.UTF8));
Page.Response.AddHeader("Content-Length",myFile.Length.ToString());
Page.Response.BinaryWrite(fileCont);
myFile.Close();
Page.Response.End();我在公司的局域网中测试,所有的客户端均可下载。
但将程序按装到客户的局域网以后,所有的客户端点击下载时都是提示下载:Down.aspx文件,而不是正常的文件名:作业.rar。
服务器上相应的IIS访问用户权限都属于ADMINISTRATOR组了,也还是同样的问题。
我已经搞了很久了,一直找不到解决办法,不知道有没有人碰到过类似的情况。