如何将文件从服务器复制到客户端系统?

时间:2014-02-27 07:34:01

标签: c# javascript asp.net client-server webpage

我正在使用asp.net和C#创建一个网页。我想做以下事情:

当用户从客户端单击按钮时,必须将服务器位置的文件复制到客户端系统的特定位置并打开该文件。是否有可能在服务中编写C#代码或javascript来执行此操作?

提前致谢。

3 个答案:

答案 0 :(得分:0)

您无法告诉客户端浏览器存储文件的位置。

您唯一能做的就是提供下载文件。放置此文件的位置由用户选择。

想象一下,如果您浏览过的任何页面都可以将文件放在计算机上的任何位置。

答案 1 :(得分:0)

只有您可以在客户端计算机上控制Web应用程序的控制系统范围权限,因此使用Silverlight(或Java / Flash),您可以编写将从服务器下载文件并将其保存到的应用程序指定的位置 - http://msdn.microsoft.com/en-us/library/ee721083(v=vs.95).aspx#file_system_access

在站在某处的未知计算机上,属于你不了解/信任的人,以及不了解/信任你的人 - 不,没有办法。

答案 2 :(得分:0)

与JensB一样,出于安全考虑,服务器无法将文件放在客户端系统上。 如果可以的话,在没有客户知道他们被感染的情况下传播病毒会非常容易。

您唯一能做的就是让服务器显示要下载到客户端的文件。客户可以选择或不选择他想要下载文件以及存储位置。

在asp中,这可以通过按钮点击处理程序

实现bij
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "text/plain";     //alternatively change to the content-type of your file
response.AddHeader("Content-Disposition", "attachment; filename=" + fileName + ";");
response.TransmitFile("Path on server to downloadable file");
response.Flush();    
response.End();