从服务器下载文件并将其保存到客户端
问题描述:
我目前正在开发一个ASP.net应用程序,我在服务器中生成一个word文档,并且希望将其保存在客户端机器中,该用户机器无需用户交互即可访问该功能。如何使用Javascript下载并将其保存在客户机中?从服务器下载文件并将其保存到客户端
答
无法将其保存在客户端计算机中,无法识别客户端。
你可以给一个link
这个word文档,用户需要点击链接并保存在他的机器上。
<a href="serverLink.doc" >Click to Save Word document</a>
注意:你不能用JavaScript或任何脚本语言
答
做客户端PC上的任何操作您可以执行的这一点:
案例1:
private static string GetWebTest1(string url)
{
System.Net.WebClient Client = new WebClient();
return Client.DownloadString(url);
}
CASE 2:
private static string GetWebTest2(string url)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream);
return reader.ReadToEnd();
}
答
使用System.Net.WebClient.DownloadFile
,你正在做批量下载,然后使用WebClient.DownloadProgressChanged
Event。有时我们会进行批量下载,但用户会得到系统卡住或失败的印象,并开始打refresh
。避免这种情况!
我相当肯定,JS不会让你这样做没有用户交互,因为这听起来**完全**像恶意软件想要做的事情(而合法的应用程序不会介意用户意识到他们的行为)。 – 2010-11-15 09:37:24
你可以使用Response.Headers – 2010-11-15 10:02:01