使用javascript在服务器中下载文件

使用javascript在服务器中下载文件,javascript,asp.net,ftp,download,Javascript,Asp.net,Ftp,Download,我有一个ASP.NET web应用程序。在某个步骤中,我创建一个文本文件并将其存储在服务器上的一个文件夹中。我在服务器代码上执行此操作。但是,在创建完文件之后,我想将该文件下载到客户端计算机。这可能吗?我知道John Culviner的jquery文件下载插件。但在查看后,我了解到要下载的文件必须位于网站本身所在的同一目录中,如www.mywebsite.com/downloads/text1.txt。但是我想把创建的文件放到其他目录中。我觉得ftp将在这里发挥作用,但不知道具体如何发挥作用。您

我有一个ASP.NET web应用程序。在某个步骤中,我创建一个文本文件并将其存储在服务器上的一个文件夹中。我在服务器代码上执行此操作。但是,在创建完文件之后,我想将该文件下载到客户端计算机。这可能吗?我知道John Culviner的jquery文件下载插件。但在查看后,我了解到要下载的文件必须位于网站本身所在的同一目录中,如www.mywebsite.com/downloads/text1.txt。但是我想把创建的文件放到其他目录中。我觉得ftp将在这里发挥作用,但不知道具体如何发挥作用。您能给我一点指导吗。

您不能从javascript启动FTP会话,但您可以创建一个下载此文件的页面,并发出适当的标题,让浏览器知道应该下载而不是显示该文件。然后,在javascript中,只需将页面重定向到该下载url,文件就会被下载,但不会更改页面视图,它只会触发浏览器中的下载对话框

标题至少应包括附件的内容处置:

Response.AddHeader("content-disposition:", "attachment;filename=...")

您希望在后端代码中使用Response.TransmitFile方法,而不是javascript

 Dim FileLocation As String = "C:/File.csv"
            Response.ContentType = "application/csv"
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + FileLocation )
            Response.TransmitFile(FileLocation )
            Response.End()

因此,一旦你创建了文件,只需使用该代码,你就会自动(它会询问他们是否愿意)开始在客户端计算机上下载该文件

如果您希望(未经授权)将文件从服务器放置到客户端计算机上,您需要查找一段时间。