Created
June 7, 2016 10:16
-
-
Save Rachind/560df5f2bd2f8ee959441a3c78b1a251 to your computer and use it in GitHub Desktop.
Javascript Download File
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
window.downloadFile = function (sUrl) { | |
//iOS devices do not support downloading. We have to inform user about this. | |
if (/(iP)/g.test(navigator.userAgent)) { | |
alert('Your device does not support files downloading. Please try again in desktop browser.'); | |
return false; | |
} | |
//If in Chrome or Safari - download via virtual link click | |
if (window.downloadFile.isChrome || window.downloadFile.isSafari) { | |
//Creating new link node. | |
var link = document.createElement('a'); | |
link.href = sUrl; | |
if (link.download !== undefined) { | |
//Set HTML5 download attribute. This will prevent file from opening if supported. | |
var fileName = sUrl.substring(sUrl.lastIndexOf('/') + 1, sUrl.length); | |
link.download = fileName; | |
} | |
//Dispatching click event. | |
if (document.createEvent) { | |
var e = document.createEvent('MouseEvents'); | |
e.initEvent('click', true, true); | |
link.dispatchEvent(e); | |
return true; | |
} | |
} | |
// Force file download (whether supported by server). | |
if (sUrl.indexOf('?') === -1) { | |
sUrl += '?download'; | |
} | |
window.open(sUrl, '_self'); | |
return true; | |
} | |
window.downloadFile.isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; | |
window.downloadFile.isSafari = navigator.userAgent.toLowerCase().indexOf('safari') > -1; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment