我正在使用錨標記下載並通過服務器URL我試圖下載媒體文件它在Chrome中正常工作(下載文件)但在IE中, MS Edge和Firefox開始流式傳輸視頻。由於交叉來源錨標記下載不起作用
這是我的代碼:
<a id="lnkDownloadVid" class="btn-download" href="http://cdn.example.com/Media/ATV521Dec16.mp4" download="">
我試圖通過jquery的AJAX打URL,我得到了跨域錯誤。
//Create a simple AJAX Request to Google and alert the results
alert("Request Start");
$.ajax({
crossDomain: true,
headers: {
"Content-Disposition": "attachment; filename=http://cdn.example.com/Media/ATV521Dec16.mp4"
},
url: "http://cdn.example.com/Media/ATV521Dec16.mp4",
success: function (data) {
alert(data);
},
error: function() {
alert("error");
}
});
alert("Request Ends");
我也試過,但仍獲得跨起源錯誤:
var request = createCORSRequest("get", "http://cdn.example.com/Media/ATV521Dec16.mp4");
if (request) {
// Define a callback function
alert("Define a callback function");
request.onload = function() { };
// Send request
alert("Send request");
request.send();
}
任何可能的解決方案,否則我失去了一些東西?我需要下載而不使用服務器端,換句話說就是直接通過URL。 我點擊了按鈕我需要下載文件。它在Chrome中工作,但在IE和Firefox中,當我點擊它開始流式傳輸的按鈕時。
右鍵單擊保存爲 – mplungjan
我需要它在按鈕上工作,只需在IE和Firefox上的按鈕上單擊其開始流式傳輸。 – sam
你需要使用ajax嗎?爲什麼不讓瀏覽器下載文件,並且跨域問題消失... – LDJ