[JQUERY] 자바 스크립트 / jQuery를 사용하여 파일 다운로드
JQUERY자바 스크립트 / jQuery를 사용하여 파일 다운로드
해결법
-
1.사용하여 눈에 보이지 않는
사용하여 눈에 보이지 않는
<iframe id="my_iframe" style="display:none;"></iframe> <script> function Download(url) { document.getElementById('my_iframe').src = url; }; </script>
(예 : HTML 또는 텍스트 파일)가 다른 렌더링 할 수있는 것 파일을 다운로드 브라우저를 강제로, 당신은 응용 프로그램 /로, 서버가 무의미한 값으로 파일의 MIME 타입을 설정해야합니다 X-하시기 바랍니다 다운로드 - 나 임의의 이진 데이터에 대해 사용되는 애플리케이션 또는 대안 / 진수 스트림.
당신은 단지 새 탭에서 열려면이 작업을 수행 할 수있는 유일한 방법은 _blank에 목표의 속성 세트와 링크를 클릭하는 사용자를위한 것입니다.
jQuery를에 :
$('a#someID').attr({target: '_blank', href : 'http://localhost/directory/file.pdf'});
해당 링크를 클릭 할 때마다 새 탭 / 창에서 파일을 다운로드합니다.
-
2.2019 최신 브라우저 업데이트
2019 최신 브라우저 업데이트
이것은 내가 지금 몇 가지주의로 추천하려는 접근 방법이다 :
가져 오기 ( 'https://jsonplaceholder.typicode.com/todos/1') 그 때는 (RESP => resp.blob ()) 그 때는 BLOB (=> { CONST URL = window.URL.createObjectURL (BLOB); CONST A = document.createElement ( "A"); a.style.display = '없음'; a.href = URL; // 파일 이름 당신이 원하는 a.download = 'TODO-1.json'; document.body.appendChild (a); a.click (); window.URL.revokeObjectURL (URL); 경고 ( '파일이 다운로드했다!'); // 또는 당신은 더 나은 UX와 뭔가를 알고 ... }) ( '오!'(() => 경고)) .catch;
2,012 원 jQuery를 / iframe이 / 쿠키 기반의 접근 방식
내가 jQuery를 파일 다운로드 플러그인 (데모) (GitHub의) 상황에 수 또한 도움을 만들었습니다. 그것은 iframe이 꽤 유사하게 작동하지만 매우 편리 발견 한 몇 가지 멋진 기능을 가지고 있습니다 :
여기 약속과 플러그인 소스를 사용하여 데모 간단한 사용 사례입니다. 데모 페이지뿐만 아니라 많은 다른, '더 나은 UX'의 예를 포함한다.
$.fileDownload('some/file.pdf') .done(function () { alert('File download a success!'); }) .fail(function () { alert('File download failed!'); });
-
3.
function downloadURI(uri, name) { var link = document.createElement("a"); // If you don't know the name or want to use // the webserver default set name = '' link.setAttribute('download', name); link.href = uri; document.body.appendChild(link); link.click(); link.remove(); }
http://caniuse.com/#feat=download : 대상 브라우저 (들)이 원활하게 위의 코드를 실행하는지 확인
-
4.나는 많은 사람들이 요소의 다운로드 속성에 대해 알고 놀랐어요. 도움은 그것에 대해 말씀을 전파하십시오! 당신은 숨겨진 HTML 링크, 가짜 a를 클릭을 할 수 있습니다. html로 링크가 파일을 다운로드 다운로드 속성이있는 경우,하지가, 더 무슨 상관 전망합니다. 여기에 코드입니다. 그것을 찾을 수 있다면 그것은 고양이 사진을 다운로드합니다.
나는 많은 사람들이 요소의 다운로드 속성에 대해 알고 놀랐어요. 도움은 그것에 대해 말씀을 전파하십시오! 당신은 숨겨진 HTML 링크, 가짜 a를 클릭을 할 수 있습니다. html로 링크가 파일을 다운로드 다운로드 속성이있는 경우,하지가, 더 무슨 상관 전망합니다. 여기에 코드입니다. 그것을 찾을 수 있다면 그것은 고양이 사진을 다운로드합니다.
document.getElementById를 ( '다운로드') ()을 클릭합니다.; 를
노트 : 이것은 모든 브라우저에서 지원되지 않습니다 http://www.w3schools.com/tags/att_a_download.asp
-
5.내가 대신의 jQuery 다운로드 다운로드 속성을 사용하는 것이 좋습니다 :
내가 대신의 jQuery 다운로드 다운로드 속성을 사용하는 것이 좋습니다 :
<a href="your_link" download> file_name </a>
이것은을 열지 않고도 파일을 다운로드합니다.
-
6.이미 jQuery를 사용하는 경우, 당신은 작은 조각을 생산하는 데 활용할 수있다 JQuery와 앤드류의 대답 버전 :
이미 jQuery를 사용하는 경우, 당신은 작은 조각을 생산하는 데 활용할 수있다 JQuery와 앤드류의 대답 버전 :
var $idown; // Keep it outside of the function, so it's initialized once. downloadURL : function(url) { if ($idown) { $idown.attr('src',url); } else { $idown = $('<iframe>', { id:'idown', src:url }).hide().appendTo('body'); } }, //... How to use it: downloadURL('http://whatever.com/file.pdf');
-
7.크롬, 파이어 폭스와 IE8 이상에서 작동합니다.
크롬, 파이어 폭스와 IE8 이상에서 작동합니다.
var link=document.createElement('a'); document.body.appendChild(link); link.href=url ; link.click();
-
8.iframe이를 사용하여 간단한 예
iframe이를 사용하여 간단한 예
function downloadURL(url) { var hiddenIFrameID = 'hiddenDownloader', iframe = document.getElementById(hiddenIFrameID); if (iframe === null) { iframe = document.createElement('iframe'); iframe.id = hiddenIFrameID; iframe.style.display = 'none'; document.body.appendChild(iframe); } iframe.src = url; };
그럼 당신이 원하는 목적지 함수를 호출 :
downloadURL ( '경로 /로 / 내 / 파일');
-
9.만 나중에 여기 칠년 대신 iframe이 또는 링크의 양식을 사용하여 한 줄의 jQuery 솔루션을 제공 :
만 나중에 여기 칠년 대신 iframe이 또는 링크의 양식을 사용하여 한 줄의 jQuery 솔루션을 제공 :
$('<form></form>') .attr('action', filePath) .appendTo('body').submit().remove();
나는이 테스트를했습니다
사람이 솔루션을 어떤 단점 알고 있다면 나는 그들에 대해 듣고 매우 행복 할 것입니다.
전체 데모 :
<html> <head><script src="https://code.jquery.com/jquery-1.11.3.js"></script></head> <body> <script> var filePath = window.prompt("Enter a file URL","http://jqueryui.com/resources/download/jquery-ui-1.12.1.zip"); $('<form></form>').attr('action', filePath).appendTo('body').submit().remove(); </script> </body> </html>
-
10.다른 페이지를 탐색 할 필요가 없습니다하는 경우에 도움이 될 수 있습니다. 이 때문에 백엔드 자바 스크립트에있는 모든 플랫폼에서 사용할 수있는, 기본 자바 스크립트 기능입니다
다른 페이지를 탐색 할 필요가 없습니다하는 경우에 도움이 될 수 있습니다. 이 때문에 백엔드 자바 스크립트에있는 모든 플랫폼에서 사용할 수있는, 기본 자바 스크립트 기능입니다
window.location.assign('any url or file path')
-
11.나는 조각 아래를 사용하여 결국 그것은 비록 IE에서 테스트하지 대부분의 브라우저에서 작동합니다.
나는 조각 아래를 사용하여 결국 그것은 비록 IE에서 테스트하지 대부분의 브라우저에서 작동합니다.
데이터하자 = JSON.stringify ([{EMAIL : "test@domain.com"이름 : "테스트"}, {EMAIL : "anothertest@example.com"이름 "anothertest"}]); 유형 = "응용 프로그램 / JSON"이름 = "testfile.json"를 보자; 다운 (데이터 입력, 성명) 다운 기능 (데이터 입력, 성명) { 새로운 블롭하자 = 물방울 ([데이터], {} 타입); URL = window.URL.createObjectURL (BLOB)를 보자; downloadURI (URL, 이름); window.URL.revokeObjectURL (URL); } downloadURI 기능 (URI, 명) { 수 있도록 링크 = document.createElement ( "A"); link.download = 이름; link.href = URI; () link.click; }
function downloadURI(uri, name) { let link = document.createElement("a"); link.download = name; link.href = uri; link.click(); } function downloader(data, type, name) { let blob = new Blob([data], {type}); let url = window.URL.createObjectURL(blob); downloadURI(url, name); window.URL.revokeObjectURL(url); }
-
12.질문이 너무 오래인지는 모르겠지만, 다운로드 MIME 형식 (예 : 우편 아카이브에 대한) 올바른로 다운로드 URL로 설정에서는 window.location 오랫동안 같이 작동합니다.
질문이 너무 오래인지는 모르겠지만, 다운로드 MIME 형식 (예 : 우편 아카이브에 대한) 올바른로 다운로드 URL로 설정에서는 window.location 오랫동안 같이 작동합니다.
var download = function(downloadURL) { location = downloadURL; }); download('http://example.com/archive.zip'); //correct usage download('http://example.com/page.html'); //DON'T
-
13.차단기의 대답을 상상 개선하기 위해,이 FF 및 IE에서 지원됩니다
차단기의 대답을 상상 개선하기 위해,이 FF 및 IE에서 지원됩니다
var evt = document.createEvent("MouseEvents"); evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); function downloadURI(uri, name) { var link = document.createElement("a"); link.download = name; link.href = uri; link.dispatchEvent(evt); }
즉, 단지 대신 클릭의는, dispatchEvent () 함수를 사용한다;
-
14.어쩌면 당신의 자바 스크립트 그냥 당신이 새 탭에 다운로드 링크를 드래그 할 때 같은 파일을 다운로드하는 페이지를 열 수 있습니다 :
어쩌면 당신의 자바 스크립트 그냥 당신이 새 탭에 다운로드 링크를 드래그 할 때 같은 파일을 다운로드하는 페이지를 열 수 있습니다 :
Window.open("https://www.MyServer. Org/downloads/ardiuno/WgiWho=?:8080")
열린 창으로 자동으로 닫히 다운로드 페이지를 엽니 다.
-
15.다운로드 데이터의 경우 파이어 폭스, 크롬과 IE 코드에 대한 가장 완벽한 작업 (테스트) 코드는 다음입니다. 데이터 ID = 'textarea_area'를 가지고 이름 데이터가 다운로드되는 파일의 이름 즉, texarea 필드는 것을 가정한다.
다운로드 데이터의 경우 파이어 폭스, 크롬과 IE 코드에 대한 가장 완벽한 작업 (테스트) 코드는 다음입니다. 데이터 ID = 'textarea_area'를 가지고 이름 데이터가 다운로드되는 파일의 이름 즉, texarea 필드는 것을 가정한다.
function download(filename) { if (typeof filename==='undefined') filename = ""; // default value = document.getElementById('textarea_area').value; filetype="text/*"; extension=filename.substring(filename.lastIndexOf(".")); for (var i = 0; i < extToMIME.length; i++) { if (extToMIME[i][0].localeCompare(extension)==0) { filetype=extToMIME[i][1]; break; } } var pom = document.createElement('a'); pom.setAttribute('href', 'data: '+filetype+';charset=utf-8,' + '\ufeff' + encodeURIComponent(value)); // Added BOM too pom.setAttribute('download', filename); if (document.createEvent) { if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) { // IE blobObject = new Blob(['\ufeff'+value]); window.navigator.msSaveBlob(blobObject, filename); } else { // FF, Chrome var event = document.createEvent('MouseEvents'); event.initEvent('click', true, true); pom.dispatchEvent(event); } } else if( document.createEventObject ) { // Have No Idea var evObj = document.createEventObject(); pom.fireEvent( 'onclick' , evObj ); } else { // For Any Case pom.click(); } }
다음 바로 전화
<a href="javascript:download();">Download</a>
다운로드 초기화.
다운로드 대화 상자의 설정 올바른 MIME 유형의 배열은 다음과 같은 수 있습니다 :
// ----------------------- Extensions to MIME --------- // // List of mime types // combination of values from Windows 7 Registry and // from C:\Windows\System32\inetsrv\config\applicationHost.config // some added, including .7z and .dat var extToMIME = [ [".323", "text/h323"], [".3g2", "video/3gpp2"], [".3gp", "video/3gpp"], [".3gp2", "video/3gpp2"], [".3gpp", "video/3gpp"], [".7z", "application/x-7z-compressed"], [".aa", "audio/audible"], [".AAC", "audio/aac"], [".aaf", "application/octet-stream"], [".aax", "audio/vnd.audible.aax"], [".ac3", "audio/ac3"], [".aca", "application/octet-stream"], [".accda", "application/msaccess.addin"], [".accdb", "application/msaccess"], [".accdc", "application/msaccess.cab"], [".accde", "application/msaccess"], [".accdr", "application/msaccess.runtime"], [".accdt", "application/msaccess"], [".accdw", "application/msaccess.webapplication"], [".accft", "application/msaccess.ftemplate"], [".acx", "application/internet-property-stream"], [".AddIn", "text/xml"], [".ade", "application/msaccess"], [".adobebridge", "application/x-bridge-url"], [".adp", "application/msaccess"], [".ADT", "audio/vnd.dlna.adts"], [".ADTS", "audio/aac"], [".afm", "application/octet-stream"], [".ai", "application/postscript"], [".aif", "audio/x-aiff"], [".aifc", "audio/aiff"], [".aiff", "audio/aiff"], [".air", "application/vnd.adobe.air-application-installer-package+zip"], [".amc", "application/x-mpeg"], [".application", "application/x-ms-application"], [".art", "image/x-jg"], [".asa", "application/xml"], [".asax", "application/xml"], [".ascx", "application/xml"], [".asd", "application/octet-stream"], [".asf", "video/x-ms-asf"], [".ashx", "application/xml"], [".asi", "application/octet-stream"], [".asm", "text/plain"], [".asmx", "application/xml"], [".aspx", "application/xml"], [".asr", "video/x-ms-asf"], [".asx", "video/x-ms-asf"], [".atom", "application/atom+xml"], [".au", "audio/basic"], [".avi", "video/x-msvideo"], [".axs", "application/olescript"], [".bas", "text/plain"], [".bcpio", "application/x-bcpio"], [".bin", "application/octet-stream"], [".bmp", "image/bmp"], [".c", "text/plain"], [".cab", "application/octet-stream"], [".caf", "audio/x-caf"], [".calx", "application/vnd.ms-office.calx"], [".cat", "application/vnd.ms-pki.seccat"], [".cc", "text/plain"], [".cd", "text/plain"], [".cdda", "audio/aiff"], [".cdf", "application/x-cdf"], [".cer", "application/x-x509-ca-cert"], [".chm", "application/octet-stream"], [".class", "application/x-java-applet"], [".clp", "application/x-msclip"], [".cmx", "image/x-cmx"], [".cnf", "text/plain"], [".cod", "image/cis-cod"], [".config", "application/xml"], [".contact", "text/x-ms-contact"], [".coverage", "application/xml"], [".cpio", "application/x-cpio"], [".cpp", "text/plain"], [".crd", "application/x-mscardfile"], [".crl", "application/pkix-crl"], [".crt", "application/x-x509-ca-cert"], [".cs", "text/plain"], [".csdproj", "text/plain"], [".csh", "application/x-csh"], [".csproj", "text/plain"], [".css", "text/css"], [".csv", "text/csv"], [".cur", "application/octet-stream"], [".cxx", "text/plain"], [".dat", "application/octet-stream"], [".datasource", "application/xml"], [".dbproj", "text/plain"], [".dcr", "application/x-director"], [".def", "text/plain"], [".deploy", "application/octet-stream"], [".der", "application/x-x509-ca-cert"], [".dgml", "application/xml"], [".dib", "image/bmp"], [".dif", "video/x-dv"], [".dir", "application/x-director"], [".disco", "text/xml"], [".dll", "application/x-msdownload"], [".dll.config", "text/xml"], [".dlm", "text/dlm"], [".doc", "application/msword"], [".docm", "application/vnd.ms-word.document.macroEnabled.12"], [".docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"], [".dot", "application/msword"], [".dotm", "application/vnd.ms-word.template.macroEnabled.12"], [".dotx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template"], [".dsp", "application/octet-stream"], [".dsw", "text/plain"], [".dtd", "text/xml"], [".dtsConfig", "text/xml"], [".dv", "video/x-dv"], [".dvi", "application/x-dvi"], [".dwf", "drawing/x-dwf"], [".dwp", "application/octet-stream"], [".dxr", "application/x-director"], [".eml", "message/rfc822"], [".emz", "application/octet-stream"], [".eot", "application/octet-stream"], [".eps", "application/postscript"], [".etl", "application/etl"], [".etx", "text/x-setext"], [".evy", "application/envoy"], [".exe", "application/octet-stream"], [".exe.config", "text/xml"], [".fdf", "application/vnd.fdf"], [".fif", "application/fractals"], [".filters", "Application/xml"], [".fla", "application/octet-stream"], [".flr", "x-world/x-vrml"], [".flv", "video/x-flv"], [".fsscript", "application/fsharp-script"], [".fsx", "application/fsharp-script"], [".generictest", "application/xml"], [".gif", "image/gif"], [".group", "text/x-ms-group"], [".gsm", "audio/x-gsm"], [".gtar", "application/x-gtar"], [".gz", "application/x-gzip"], [".h", "text/plain"], [".hdf", "application/x-hdf"], [".hdml", "text/x-hdml"], [".hhc", "application/x-oleobject"], [".hhk", "application/octet-stream"], [".hhp", "application/octet-stream"], [".hlp", "application/winhlp"], [".hpp", "text/plain"], [".hqx", "application/mac-binhex40"], [".hta", "application/hta"], [".htc", "text/x-component"], [".htm", "text/html"], [".html", "text/html"], [".htt", "text/webviewhtml"], [".hxa", "application/xml"], [".hxc", "application/xml"], [".hxd", "application/octet-stream"], [".hxe", "application/xml"], [".hxf", "application/xml"], [".hxh", "application/octet-stream"], [".hxi", "application/octet-stream"], [".hxk", "application/xml"], [".hxq", "application/octet-stream"], [".hxr", "application/octet-stream"], [".hxs", "application/octet-stream"], [".hxt", "text/html"], [".hxv", "application/xml"], [".hxw", "application/octet-stream"], [".hxx", "text/plain"], [".i", "text/plain"], [".ico", "image/x-icon"], [".ics", "application/octet-stream"], [".idl", "text/plain"], [".ief", "image/ief"], [".iii", "application/x-iphone"], [".inc", "text/plain"], [".inf", "application/octet-stream"], [".inl", "text/plain"], [".ins", "application/x-internet-signup"], [".ipa", "application/x-itunes-ipa"], [".ipg", "application/x-itunes-ipg"], [".ipproj", "text/plain"], [".ipsw", "application/x-itunes-ipsw"], [".iqy", "text/x-ms-iqy"], [".isp", "application/x-internet-signup"], [".ite", "application/x-itunes-ite"], [".itlp", "application/x-itunes-itlp"], [".itms", "application/x-itunes-itms"], [".itpc", "application/x-itunes-itpc"], [".IVF", "video/x-ivf"], [".jar", "application/java-archive"], [".java", "application/octet-stream"], [".jck", "application/liquidmotion"], [".jcz", "application/liquidmotion"], [".jfif", "image/pjpeg"], [".jnlp", "application/x-java-jnlp-file"], [".jpb", "application/octet-stream"], [".jpe", "image/jpeg"], [".jpeg", "image/jpeg"], [".jpg", "image/jpeg"], [".js", "application/x-javascript"], [".json", "application/json"], [".jsx", "text/jscript"], [".jsxbin", "text/plain"], [".latex", "application/x-latex"], [".library-ms", "application/windows-library+xml"], [".lit", "application/x-ms-reader"], [".loadtest", "application/xml"], [".lpk", "application/octet-stream"], [".lsf", "video/x-la-asf"], [".lst", "text/plain"], [".lsx", "video/x-la-asf"], [".lzh", "application/octet-stream"], [".m13", "application/x-msmediaview"], [".m14", "application/x-msmediaview"], [".m1v", "video/mpeg"], [".m2t", "video/vnd.dlna.mpeg-tts"], [".m2ts", "video/vnd.dlna.mpeg-tts"], [".m2v", "video/mpeg"], [".m3u", "audio/x-mpegurl"], [".m3u8", "audio/x-mpegurl"], [".m4a", "audio/m4a"], [".m4b", "audio/m4b"], [".m4p", "audio/m4p"], [".m4r", "audio/x-m4r"], [".m4v", "video/x-m4v"], [".mac", "image/x-macpaint"], [".mak", "text/plain"], [".man", "application/x-troff-man"], [".manifest", "application/x-ms-manifest"], [".map", "text/plain"], [".master", "application/xml"], [".mda", "application/msaccess"], [".mdb", "application/x-msaccess"], [".mde", "application/msaccess"], [".mdp", "application/octet-stream"], [".me", "application/x-troff-me"], [".mfp", "application/x-shockwave-flash"], [".mht", "message/rfc822"], [".mhtml", "message/rfc822"], [".mid", "audio/mid"], [".midi", "audio/mid"], [".mix", "application/octet-stream"], [".mk", "text/plain"], [".mmf", "application/x-smaf"], [".mno", "text/xml"], [".mny", "application/x-msmoney"], [".mod", "video/mpeg"], [".mov", "video/quicktime"], [".movie", "video/x-sgi-movie"], [".mp2", "video/mpeg"], [".mp2v", "video/mpeg"], [".mp3", "audio/mpeg"], [".mp4", "video/mp4"], [".mp4v", "video/mp4"], [".mpa", "video/mpeg"], [".mpe", "video/mpeg"], [".mpeg", "video/mpeg"], [".mpf", "application/vnd.ms-mediapackage"], [".mpg", "video/mpeg"], [".mpp", "application/vnd.ms-project"], [".mpv2", "video/mpeg"], [".mqv", "video/quicktime"], [".ms", "application/x-troff-ms"], [".msi", "application/octet-stream"], [".mso", "application/octet-stream"], [".mts", "video/vnd.dlna.mpeg-tts"], [".mtx", "application/xml"], [".mvb", "application/x-msmediaview"], [".mvc", "application/x-miva-compiled"], [".mxp", "application/x-mmxp"], [".nc", "application/x-netcdf"], [".nsc", "video/x-ms-asf"], [".nws", "message/rfc822"], [".ocx", "application/octet-stream"], [".oda", "application/oda"], [".odc", "text/x-ms-odc"], [".odh", "text/plain"], [".odl", "text/plain"], [".odp", "application/vnd.oasis.opendocument.presentation"], [".ods", "application/oleobject"], [".odt", "application/vnd.oasis.opendocument.text"], [".one", "application/onenote"], [".onea", "application/onenote"], [".onepkg", "application/onenote"], [".onetmp", "application/onenote"], [".onetoc", "application/onenote"], [".onetoc2", "application/onenote"], [".orderedtest", "application/xml"], [".osdx", "application/opensearchdescription+xml"], [".p10", "application/pkcs10"], [".p12", "application/x-pkcs12"], [".p7b", "application/x-pkcs7-certificates"], [".p7c", "application/pkcs7-mime"], [".p7m", "application/pkcs7-mime"], [".p7r", "application/x-pkcs7-certreqresp"], [".p7s", "application/pkcs7-signature"], [".pbm", "image/x-portable-bitmap"], [".pcast", "application/x-podcast"], [".pct", "image/pict"], [".pcx", "application/octet-stream"], [".pcz", "application/octet-stream"], [".pdf", "application/pdf"], [".pfb", "application/octet-stream"], [".pfm", "application/octet-stream"], [".pfx", "application/x-pkcs12"], [".pgm", "image/x-portable-graymap"], [".pic", "image/pict"], [".pict", "image/pict"], [".pkgdef", "text/plain"], [".pkgundef", "text/plain"], [".pko", "application/vnd.ms-pki.pko"], [".pls", "audio/scpls"], [".pma", "application/x-perfmon"], [".pmc", "application/x-perfmon"], [".pml", "application/x-perfmon"], [".pmr", "application/x-perfmon"], [".pmw", "application/x-perfmon"], [".png", "image/png"], [".pnm", "image/x-portable-anymap"], [".pnt", "image/x-macpaint"], [".pntg", "image/x-macpaint"], [".pnz", "image/png"], [".pot", "application/vnd.ms-powerpoint"], [".potm", "application/vnd.ms-powerpoint.template.macroEnabled.12"], [".potx", "application/vnd.openxmlformats-officedocument.presentationml.template"], [".ppa", "application/vnd.ms-powerpoint"], [".ppam", "application/vnd.ms-powerpoint.addin.macroEnabled.12"], [".ppm", "image/x-portable-pixmap"], [".pps", "application/vnd.ms-powerpoint"], [".ppsm", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12"], [".ppsx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow"], [".ppt", "application/vnd.ms-powerpoint"], [".pptm", "application/vnd.ms-powerpoint.presentation.macroEnabled.12"], [".pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation"], [".prf", "application/pics-rules"], [".prm", "application/octet-stream"], [".prx", "application/octet-stream"], [".ps", "application/postscript"], [".psc1", "application/PowerShell"], [".psd", "application/octet-stream"], [".psess", "application/xml"], [".psm", "application/octet-stream"], [".psp", "application/octet-stream"], [".pub", "application/x-mspublisher"], [".pwz", "application/vnd.ms-powerpoint"], [".qht", "text/x-html-insertion"], [".qhtm", "text/x-html-insertion"], [".qt", "video/quicktime"], [".qti", "image/x-quicktime"], [".qtif", "image/x-quicktime"], [".qtl", "application/x-quicktimeplayer"], [".qxd", "application/octet-stream"], [".ra", "audio/x-pn-realaudio"], [".ram", "audio/x-pn-realaudio"], [".rar", "application/octet-stream"], [".ras", "image/x-cmu-raster"], [".rat", "application/rat-file"], [".rc", "text/plain"], [".rc2", "text/plain"], [".rct", "text/plain"], [".rdlc", "application/xml"], [".resx", "application/xml"], [".rf", "image/vnd.rn-realflash"], [".rgb", "image/x-rgb"], [".rgs", "text/plain"], [".rm", "application/vnd.rn-realmedia"], [".rmi", "audio/mid"], [".rmp", "application/vnd.rn-rn_music_package"], [".roff", "application/x-troff"], [".rpm", "audio/x-pn-realaudio-plugin"], [".rqy", "text/x-ms-rqy"], [".rtf", "application/rtf"], [".rtx", "text/richtext"], [".ruleset", "application/xml"], [".s", "text/plain"], [".safariextz", "application/x-safari-safariextz"], [".scd", "application/x-msschedule"], [".sct", "text/scriptlet"], [".sd2", "audio/x-sd2"], [".sdp", "application/sdp"], [".sea", "application/octet-stream"], [".searchConnector-ms", "application/windows-search-connector+xml"], [".setpay", "application/set-payment-initiation"], [".setreg", "application/set-registration-initiation"], [".settings", "application/xml"], [".sgimb", "application/x-sgimb"], [".sgml", "text/sgml"], [".sh", "application/x-sh"], [".shar", "application/x-shar"], [".shtml", "text/html"], [".sit", "application/x-stuffit"], [".sitemap", "application/xml"], [".skin", "application/xml"], [".sldm", "application/vnd.ms-powerpoint.slide.macroEnabled.12"], [".sldx", "application/vnd.openxmlformats-officedocument.presentationml.slide"], [".slk", "application/vnd.ms-excel"], [".sln", "text/plain"], [".slupkg-ms", "application/x-ms-license"], [".smd", "audio/x-smd"], [".smi", "application/octet-stream"], [".smx", "audio/x-smd"], [".smz", "audio/x-smd"], [".snd", "audio/basic"], [".snippet", "application/xml"], [".snp", "application/octet-stream"], [".sol", "text/plain"], [".sor", "text/plain"], [".spc", "application/x-pkcs7-certificates"], [".spl", "application/futuresplash"], [".src", "application/x-wais-source"], [".srf", "text/plain"], [".SSISDeploymentManifest", "text/xml"], [".ssm", "application/streamingmedia"], [".sst", "application/vnd.ms-pki.certstore"], [".stl", "application/vnd.ms-pki.stl"], [".sv4cpio", "application/x-sv4cpio"], [".sv4crc", "application/x-sv4crc"], [".svc", "application/xml"], [".swf", "application/x-shockwave-flash"], [".t", "application/x-troff"], [".tar", "application/x-tar"], [".tcl", "application/x-tcl"], [".testrunconfig", "application/xml"], [".testsettings", "application/xml"], [".tex", "application/x-tex"], [".texi", "application/x-texinfo"], [".texinfo", "application/x-texinfo"], [".tgz", "application/x-compressed"], [".thmx", "application/vnd.ms-officetheme"], [".thn", "application/octet-stream"], [".tif", "image/tiff"], [".tiff", "image/tiff"], [".tlh", "text/plain"], [".tli", "text/plain"], [".toc", "application/octet-stream"], [".tr", "application/x-troff"], [".trm", "application/x-msterminal"], [".trx", "application/xml"], [".ts", "video/vnd.dlna.mpeg-tts"], [".tsv", "text/tab-separated-values"], [".ttf", "application/octet-stream"], [".tts", "video/vnd.dlna.mpeg-tts"], [".txt", "text/plain"], [".u32", "application/octet-stream"], [".uls", "text/iuls"], [".user", "text/plain"], [".ustar", "application/x-ustar"], [".vb", "text/plain"], [".vbdproj", "text/plain"], [".vbk", "video/mpeg"], [".vbproj", "text/plain"], [".vbs", "text/vbscript"], [".vcf", "text/x-vcard"], [".vcproj", "Application/xml"], [".vcs", "text/plain"], [".vcxproj", "Application/xml"], [".vddproj", "text/plain"], [".vdp", "text/plain"], [".vdproj", "text/plain"], [".vdx", "application/vnd.ms-visio.viewer"], [".vml", "text/xml"], [".vscontent", "application/xml"], [".vsct", "text/xml"], [".vsd", "application/vnd.visio"], [".vsi", "application/ms-vsi"], [".vsix", "application/vsix"], [".vsixlangpack", "text/xml"], [".vsixmanifest", "text/xml"], [".vsmdi", "application/xml"], [".vspscc", "text/plain"], [".vss", "application/vnd.visio"], [".vsscc", "text/plain"], [".vssettings", "text/xml"], [".vssscc", "text/plain"], [".vst", "application/vnd.visio"], [".vstemplate", "text/xml"], [".vsto", "application/x-ms-vsto"], [".vsw", "application/vnd.visio"], [".vsx", "application/vnd.visio"], [".vtx", "application/vnd.visio"], [".wav", "audio/wav"], [".wave", "audio/wav"], [".wax", "audio/x-ms-wax"], [".wbk", "application/msword"], [".wbmp", "image/vnd.wap.wbmp"], [".wcm", "application/vnd.ms-works"], [".wdb", "application/vnd.ms-works"], [".wdp", "image/vnd.ms-photo"], [".webarchive", "application/x-safari-webarchive"], [".webtest", "application/xml"], [".wiq", "application/xml"], [".wiz", "application/msword"], [".wks", "application/vnd.ms-works"], [".WLMP", "application/wlmoviemaker"], [".wlpginstall", "application/x-wlpg-detect"], [".wlpginstall3", "application/x-wlpg3-detect"], [".wm", "video/x-ms-wm"], [".wma", "audio/x-ms-wma"], [".wmd", "application/x-ms-wmd"], [".wmf", "application/x-msmetafile"], [".wml", "text/vnd.wap.wml"], [".wmlc", "application/vnd.wap.wmlc"], [".wmls", "text/vnd.wap.wmlscript"], [".wmlsc", "application/vnd.wap.wmlscriptc"], [".wmp", "video/x-ms-wmp"], [".wmv", "video/x-ms-wmv"], [".wmx", "video/x-ms-wmx"], [".wmz", "application/x-ms-wmz"], [".wpl", "application/vnd.ms-wpl"], [".wps", "application/vnd.ms-works"], [".wri", "application/x-mswrite"], [".wrl", "x-world/x-vrml"], [".wrz", "x-world/x-vrml"], [".wsc", "text/scriptlet"], [".wsdl", "text/xml"], [".wvx", "video/x-ms-wvx"], [".x", "application/directx"], [".xaf", "x-world/x-vrml"], [".xaml", "application/xaml+xml"], [".xap", "application/x-silverlight-app"], [".xbap", "application/x-ms-xbap"], [".xbm", "image/x-xbitmap"], [".xdr", "text/plain"], [".xht", "application/xhtml+xml"], [".xhtml", "application/xhtml+xml"], [".xla", "application/vnd.ms-excel"], [".xlam", "application/vnd.ms-excel.addin.macroEnabled.12"], [".xlc", "application/vnd.ms-excel"], [".xld", "application/vnd.ms-excel"], [".xlk", "application/vnd.ms-excel"], [".xll", "application/vnd.ms-excel"], [".xlm", "application/vnd.ms-excel"], [".xls", "application/vnd.ms-excel"], [".xlsb", "application/vnd.ms-excel.sheet.binary.macroEnabled.12"], [".xlsm", "application/vnd.ms-excel.sheet.macroEnabled.12"], [".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"], [".xlt", "application/vnd.ms-excel"], [".xltm", "application/vnd.ms-excel.template.macroEnabled.12"], [".xltx", "application/vnd.openxmlformats-officedocument.spreadsheetml.template"], [".xlw", "application/vnd.ms-excel"], [".xml", "text/xml"], [".xmta", "application/xml"], [".xof", "x-world/x-vrml"], [".XOML", "text/plain"], [".xpm", "image/x-xpixmap"], [".xps", "application/vnd.ms-xpsdocument"], [".xrm-ms", "text/xml"], [".xsc", "application/xml"], [".xsd", "text/xml"], [".xsf", "text/xml"], [".xsl", "text/xml"], [".xslt", "text/xml"], [".xsn", "application/octet-stream"], [".xss", "application/xml"], [".xtp", "application/octet-stream"], [".xwd", "image/x-xwindowdump"], [".z", "application/x-compress"], [".zip", "application/x-zip-compressed"] ]; // ----------------------- End of Extensions to MIME --------- //
-
16.나를 위해이 확인 크롬 v72에서 테스트하고있다
나를 위해이 확인 크롬 v72에서 테스트하고있다
function down_file(url,name){ var a = $("<a>") .attr("href", url) .attr("download", name) .appendTo("body"); a[0].click(); a.remove(); } down_file('https://www.useotools.com/uploads/nulogo[1].png','logo.png')
-
17.나는 모든 곳에서 작동하기 때문에 FORM 태그를 사용하여 좋은 결과이 있고 일시적으로 서버에 파일을 만들 필요가 없습니다. 이 방법은 다음과 같이 작동합니다.
나는 모든 곳에서 작동하기 때문에 FORM 태그를 사용하여 좋은 결과이 있고 일시적으로 서버에 파일을 만들 필요가 없습니다. 이 방법은 다음과 같이 작동합니다.
클라이언트 측에서 (페이지의 HTML)은이 같은 눈에 보이지 않는 폼을 만들
<form method="POST" action="/download.php" target="_blank" id="downloadForm"> <input type="hidden" name="data" id="csv"> </form>
그런 다음 당신은 당신의 버튼이 자바 스크립트 코드를 추가합니다 :
$('#button').click(function() { $('#csv').val('---your data---'); $('#downloadForm').submit(); }
당신이 download.php에서 다음과 같은 PHP 코드가 서버 측의 :
<?php header('Content-Type: text/csv'); header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=out.csv'); header('Content-Transfer-Encoding: binary'); header('Connection: Keep-Alive'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . strlen($data)); echo $_REQUEST['data']; exit();
당신은이 같은 데이터의 압축 파일을 만들 수 있습니다 :
<?php $file = tempnam("tmp", "zip"); $zip = new ZipArchive(); $zip->open($file, ZipArchive::OVERWRITE); $zip->addFromString('test.csv', $_REQUEST['data']); $zip->close(); header('Content-Type: application/zip'); header('Content-Length: ' . filesize($file)); header('Content-Disposition: attachment; filename="file.zip"'); readfile($file); unlink($file);
가장 좋은 부분은 모든 것을 만들고 즉석에서 파괴되기 때문에이 서버에 남아있는 파일을 떠나지 않아입니다!
-
18.12월 30일 '13에 hitesh에 의해 제출 된 대답은 사실 일을한다. 그것은 단지 약간의 조정이 필요합니다
12월 30일 '13에 hitesh에 의해 제출 된 대답은 사실 일을한다. 그것은 단지 약간의 조정이 필요합니다
PHP 파일 자체를 호출 할 수 있습니다. 즉, 단지 saveAs.php라는 이름의 파일을 생성하고이 코드를 넣어 ...
<a href="saveAs.php?file_source=YourDataFile.pdf">Download pdf here</a> <?php if (isset($_GET['file_source'])) { $fullPath = $_GET['file_source']; if($fullPath) { $fsize = filesize($fullPath); $path_parts = pathinfo($fullPath); $ext = strtolower($path_parts["extension"]); switch ($ext) { case "pdf": header("Content-Disposition: attachment; filename=\"".$path_parts["basename"]."\""); // use 'attachment' to force a download header("Content-type: application/pdf"); // add here more headers for diff. extensions break; default; header("Content-type: application/octet-stream"); header("Content-Disposition: filename=\"".$path_parts["basename"]."\""); } if($fsize) {//checking if file size exist header("Content-length: $fsize"); } readfile($fullPath); exit; } } ?>
-
19.이러한 기능은 stacktrace.js에서 사용된다 :
이러한 기능은 stacktrace.js에서 사용된다 :
/** * Try XHR methods in order and store XHR factory. * * @return <Function> XHR function or equivalent */ var createXMLHTTPObject = function() { var xmlhttp, XMLHttpFactories = [ function() { return new XMLHttpRequest(); }, function() { return new ActiveXObject('Msxml2.XMLHTTP'); }, function() { return new ActiveXObject('Msxml3.XMLHTTP'); }, function() { return new ActiveXObject('Microsoft.XMLHTTP'); } ]; for (var i = 0; i < XMLHttpFactories.length; i++) { try { xmlhttp = XMLHttpFactories[i](); // Use memoization to cache the factory createXMLHTTPObject = XMLHttpFactories[i]; return xmlhttp; } catch (e) { } } } /** * @return the text from a given URL */ function ajax(url) { var req = createXMLHTTPObject(); if (req) { try { req.open('GET', url, false); req.send(null); return req.responseText; } catch (e) { } } return ''; }
-
20.난 당신이 클릭 이벤트 전에이라고 MouseDown 이벤트를 사용하는 것이 좋습니다. 그런 식으로, 브라우저는 코드의 불확실성을 피할 수 자연적으로 클릭 이벤트를 처리합니다 :
난 당신이 클릭 이벤트 전에이라고 MouseDown 이벤트를 사용하는 것이 좋습니다. 그런 식으로, 브라우저는 코드의 불확실성을 피할 수 자연적으로 클릭 이벤트를 처리합니다 :
(function ($) { // with this solution, the browser handles the download link naturally (tested in chrome and firefox) $(document).ready(function () { var url = '/private/downloads/myfile123.pdf'; $("a#someID").on('mousedown', function () { $(this).attr("href", url); }); }); })(jQuery);
-
21.Corbacho에서 우수한 솔루션, 난 그냥 var에 O를 제거하도록
Corbacho에서 우수한 솔루션, 난 그냥 var에 O를 제거하도록
function downloadURL(url) { if( $('#idown').length ){ $('#idown').attr('src',url); }else{ $('<iframe>', { id:'idown', src:url }).hide().appendTo('body'); } }
-
22.파이어 폭스와 크롬 테스트 :
파이어 폭스와 크롬 테스트 :
var link = document.createElement('a'); link.download = 'fileName.ext' link.href = 'http://down.serv/file.ext'; // Because firefox not executing the .click() well // We need to create mouse event initialization. var clickEvent = document.createEvent("MouseEvent"); clickEvent.initEvent("click", true, true); link.dispatchEvent(clickEvent);
이것은 실제로 파이어 폭스에 대해 "크롬"방법 용액 (내가 그래서 compilability에 대한 휴가의 의견을 기쁘게, 다른 브라우저에 그것을 테스트하고 있지 않다)이다
-
23.파일을 다운로드하려고 할 때 발생할 수 많은 작은 것들이 있습니다. 브라우저 사이의 불일치 혼자 악몽이다. 나는이 위대한 작은 라이브러리를 사용하여 끝났다. https://github.com/rndme/download
파일을 다운로드하려고 할 때 발생할 수 많은 작은 것들이 있습니다. 브라우저 사이의 불일치 혼자 악몽이다. 나는이 위대한 작은 라이브러리를 사용하여 끝났다. https://github.com/rndme/download
그것에 대해 좋은 점뿐만 아니라 URL을뿐만 클라이언트 측 데이터에 대한 유연한 다운로드 할 것입니다.
-
24.그것을 할 수있는 앵커 태그와 PHP를 사용하여,이 답변을 확인
그것을 할 수있는 앵커 태그와 PHP를 사용하여,이 답변을 확인
PDF 파일을 다운로드 JQuery와 Ajax 호출
HTML <a href="www.example.com/download_file.php?file_source=example.pdf">Download pdf here</a> PHP <?php $fullPath = $_GET['fileSource']; if($fullPath) { $fsize = filesize($fullPath); $path_parts = pathinfo($fullPath); $ext = strtolower($path_parts["extension"]); switch ($ext) { case "pdf": header("Content-Disposition: attachment; filename=\"".$path_parts["basename"]."\""); // use 'attachment' to force a download header("Content-type: application/pdf"); // add here more headers for diff. extensions break; default; header("Content-type: application/octet-stream"); header("Content-Disposition: filename=\"".$path_parts["basename"]."\""); } if($fsize) {//checking if file size exist header("Content-length: $fsize"); } readfile($fullPath); exit; } ?>
당신은 CDN의 CloudFront를 프로그램에서 PDF를로드하는 경우, 당신은 내가이 상태로 확인하고이를 방지하려면, 0킬로바이트에서 다운로드에 문서를 강제로 문서의 크기를 얻을 증언 요구 무산 때문에 파일 크기를 확인하고
if($fsize) {//checking if file size exist header("Content-length: $fsize"); }
-
25.나는 파티에 늦었 알고 있지만, 나는 위의 차단기의 솔루션을 상상해의 변형입니다 내 솔루션을 공유하고 싶습니다. 나는 그의 해결책은 나에게 가장 간단하고 쉬운 것 때문에, 자신의 솔루션을 사용하려고 노력했다. 다른 말한 것처럼 내가 jQuery를 사용하여 일부 변화를 넣어 있도록, 그것은, 어떤 브라우저하지 작업을했다.
나는 파티에 늦었 알고 있지만, 나는 위의 차단기의 솔루션을 상상해의 변형입니다 내 솔루션을 공유하고 싶습니다. 나는 그의 해결책은 나에게 가장 간단하고 쉬운 것 때문에, 자신의 솔루션을 사용하려고 노력했다. 다른 말한 것처럼 내가 jQuery를 사용하여 일부 변화를 넣어 있도록, 그것은, 어떤 브라우저하지 작업을했다.
이이 사람을 도울 수 있기를 바랍니다.
function download(url) { var link = document.createElement("a"); $(link).click(function(e) { e.preventDefault(); window.location.href = url; }); $(link).click(); }
-
26.참고 : 모든 브라우저에서 지원되지 않습니다.
참고 : 모든 브라우저에서 지원되지 않습니다.
나는 처음부터 HREF 속성의 파일 URL을 설정하지 않고 jQuery를 사용하여 파일을 다운로드 할 수있는 방법을 찾고 있었다.
jQuery를 ( '를', { ID : 'downloadFile' href가 'http://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon@2.png' 스타일 : '디스플레이 : 숨겨진;' 다운로드 : '' }) appendTo ( '신체').; $ ( "# downloadFile") [0] .click (); <스크립트 SRC = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> script>
-
27.나는 (당신이 그것을 필요로하지 않기 때문에) JQuery와없는 rakaloof의 솔루션 @ 사용합니다. 아이디어 주셔서 감사합니다! 여기 vanillaJS 폼 기반 솔루션이다 :
나는 (당신이 그것을 필요로하지 않기 때문에) JQuery와없는 rakaloof의 솔루션 @ 사용합니다. 아이디어 주셔서 감사합니다! 여기 vanillaJS 폼 기반 솔루션이다 :
CONST URI = 'https://upload.wikimedia.org/wikipedia/commons/b/bb/Test_ogg_mp3_48kbps.wav'; 할 양식 = document.createElement ( "양식"); form.setAttribute ( '액션'URI); document.body.appendChild (형태); form.submit (); document.body.removeChild (document.body.lastElementChild);
from https://stackoverflow.com/questions/3749231/download-file-using-javascript-jquery by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 어떻게 자바 스크립트를 사용하여 이미지 크기 (높이 및 폭)을 얻으려면? (0) | 2020.09.22 |
---|---|
[JQUERY] 어떻게 숫자 (0-9)에서 HTML에서 InputBox jQuery를 사용하는 경우에만 허용하는? (0) | 2020.09.22 |
[JQUERY] AJAX와 크로스 도메인 엔드 포인트로드 (0) | 2020.09.22 |
[JQUERY] 어떻게 jQuery를 아약스 - 요청 FormData 객체를 보내? [복제] (0) | 2020.09.22 |
[JQUERY] 어떻게 JQuery와 동기보다는 비동기, Ajax 요청을 수행 할 수 있습니까? (0) | 2020.09.22 |