
web 请问如何在服务器端将一个文件保存到客户端指定路径?
我是用C#的,在一个web页面中有一个按钮,现在我想在点这个按钮时,将本地的D:\result.txt文件保存到客户端的E:\files\result.txt,请问要怎么...
我是用C#的,在一个web页面中有一个按钮,现在我想在点这个按钮时,将本地的D:\result.txt文件保存到客户端的E:\files\result.txt,请问要怎么实现这样的功能?
展开
1个回答
展开全部
因为涉及到安全的浏览器在设计的时候就不支持这个功能:直接有服务器将文件写到客户端非临时文件夹下。
对户端非临时文件夹进行文件操,都必须在客户端完成,所以点击按钮后必须回答一个对话框。
方法一:点击按钮弹出保存对话框,由用户选择位置保存文件。
方法二:点击按钮后,客户端进行安全确认后,由JS写入指定位置。
对户端非临时文件夹进行文件操,都必须在客户端完成,所以点击按钮后必须回答一个对话框。
方法一:点击按钮弹出保存对话框,由用户选择位置保存文件。
方法二:点击按钮后,客户端进行安全确认后,由JS写入指定位置。
追问
呵呵。。谢谢你啊,我就是问你所讲的方法一的代码具体怎么实现。。。可以给一个具体的代码吗?谢谢!
追答
代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
string filePath = Server.MapPath("~/temp.txt" );//路径+文件名
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode("temp1.txt", System.Text.Encoding.UTF8));
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询