3
我想從我的web服務下載文件。我需要將複雜的元數據傳遞給服務器以瞭解如何下載文件。這裏是林如何能夠完成,在常綠的瀏覽器:IE 9下載屬性的解決方法
// i use angular but not important for this demo
$http.post({ /* complex object */ }).then(xhr){
// use download attribute
// http://davidwalsh.name/download-attribute
var hiddenElement = document.createElement('a');
hiddenElement.href = 'data:attachment/csv,' + encodeURI(xhr.data);
hiddenElement.target = '_blank';
hiddenElement.download = $scope.filename + '.csv';
hiddenElement.click();
hiddenElement.remove();
});
當然意義上的下載屬性是不可用的IE瀏覽器
我無法發佈。我以前用過的一個解決辦法是:
$("body>#download_iFrame").remove();
$("body").append('<iframe name="downloadFrame" id="download_iFrame" style="display:none;" src="" />');
$("#form-download")[0].submit();
,然後在HTML
<form target="downloadFrame"
action="'api/search/export/'"
id="form-download"></form>
問題是我無法通過這樣的一個對象。當然,我可以把一個隱藏的輸入和序列化它的價值,但我的對象有點大,所以最終成爲一個問題。
你如何解決此問題?
雅,我需要IE9的支持,雖然。 – amcdnl 2014-12-15 14:05:47