jQuery / javascript下载文件不能在Chrome上工作
本文关键字:Chrome 工作 不能 文件 javascript 下载 jQuery | 更新日期: 2023-09-27 18:03:45
我有一个jQuery脚本,我想在其中下载一个文件,该文件位于用户单击链接后的一些服务器上。在IE11上,这可以正常工作,因为我只需调用:
window.open('file:///MyServer0001/SomeFolder/Tmp/ToiletFlush.log'
我知道出于安全原因,Chrome不允许使用协议文件:///。这很有趣,因为如果我在地址栏上写这个URL,他会显示文件,但是如果我调用window.open(),他只是打开我一个新的空窗口。此外,删除文件:///在Chrome上没有任何作用,它说该页面不可用
所以现在我不知道如何使这个工作在铬。我想我可以通过POST/GET调用控制器函数,返回FileResult并下载文件来解决这个问题。这绝对是有效的,但我想知道一个简单的方法来做到这一点,直接只使用jQuery/JavaScript。
任何想法?
试试ASP。. NET MVC filerresult:
视图:
<a href='@Url.Action('GetFile','Home')">Download File</a>
Home Controller:
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. 从命令行启动Chrome,前面加上' -allow-file-access-from-files ':
–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
还是……您需要在本地服务器上运行应用程序。