从服务器下载文件并保存到客户端

4

我正在开发一个ASP.net应用程序,在其中在服务器上生成一个Word文档,并希望将其保存在访问该功能的客户端机器上,而无需用户交互。如何使用Javascript下载并保存到客户端机器?


4
我相当确定JS不会允许您在没有用户交互的情况下执行此操作,因为这听起来正是恶意软件想要做的事情(而合法的应用程序不介意用户了解他们的行为)。 - Andrzej Doyle
1
您可以通过在 Response.Headers 中添加“attachment”标头来强制打开/保存对话框(IE)。 - Shadow The Spring Wizard
3个回答

3

如果没有客户的同意,您不能在客户机器上保存数据。

您可以提供一个文档的链接,用户需要点击链接并将其保存在自己的计算机上。

 <a href="serverLink.doc" >Click to Save Word document</a>

注意:您无法使用JavaScript或任何脚本语言在客户端PC上进行任何操作。

1

1
你可以选择以下任意一种方式:
情况1:
private static string GetWebTest1(string url)        
{            
     System.Net.WebClient Client = new WebClient();            
     return Client.DownloadString(url);        
}

情况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();        
 }

我已经弄清楚了C#,但对于JavaScript来说,它可能类似于anishmarokey的答案。 - Pratik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接