繁体   English   中英

jQuery / JavaScript下载文件在Chrome上不起作用

[英]jQuery / javascript download file doesn't work on Chrome

我有一个jQuery脚本,在用户单击链接后,我想在其中下载文件,该文件位于某些服务器上。 在IE11上,此方法可以正常运行,因为我只是打电话给:

window.open('file:///MyServer0001/SomeFolder/Tmp/ToiletFlush.log'

我知道出于安全原因,Chrome不允许使用协议文件:///。 有趣的是,如果我在地址栏上写这个URL,他将显示文件,但是,如果我调用window.open(),他只会为我打开一个新的空窗口。 另外,删除file:///,在Chrome上不执行任何操作,表示该页面不可用

所以现在我不知道如何在铬上进行这项工作。 我以为可以通过POST / GET调用控制器函数,返回FileResult并下载文件来解决。 这绝对可行,但是我想知道一种仅使用jQuery / JavaScript直接执行此操作的简单方法。

任何想法?

尝试使用ASP.NET MVC FileResult:

视图:

<a href='@Url.Action('GetFile','Home')">Download File</a>

在家庭控制器中:

public FileResult GetFile()
{
//Read file content into variable.
string content=File.ReadAllText("filepath");
byte[] byteArray = Encoding.ASCII.GetBytes(content);
return File(byteArray, System.Net.Mime.MediaTypeNames.Text.Plain, "ToiletFlush.log");
}

尝试这个,

在Windows上:
1.找到您的Chrome安装程序的本地URL
2.从命令行启动带有w-“-allow-file-access-from-files”的Chrome浏览器:

–allow-file-access-from-files C://...

在OSX上,只需在终端中输入以下内容:

open /Applications/Google\ Chrome.app --args --allow-file-access-from-files

Using Google Chrome Canary is also possible:

open /Applications/Google\ Chrome\ Canary.app --args --allow-file-access-from-files

或者...您需要在本地服务器上运行应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM