簡體   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