2009-12-10 7 views
1

브라우저가 파일을 열지 않고 '다운로드'하도록 강제 설정하는 방법이 있습니까?Javascript JQuery 링크를 사용하여 txt 파일을 다운로드하십시오.

<a href="file.txt">Download this file</a> 

js를 통해 window.open ("file.txt", "Download");

하지만 성공하지 못했습니다.

Thx.

업데이트 : 나는 다음과 같은 PHP 파일을 한 적이

;

<html> 
<a href='dl.php?bid=3'> 

<php> 
$sql="select barquivo from bibilioteca where bid=$_GET[bid]"; 
$row=mysql_fetch_assoc(mysql_query($sql)); 
header("Content-Disposition: attachment;filename=biblioteca/$row[barquivo]"); 

그리고 "biblioteca_"파일을 0 바이트로 다운로드합니다.

+0

최고 답변은이 링크에 있습니다. http://stackoverflow.com/questions/1597732/php-force-file-download-and-ie-yet-again/1597946#1597946 –

답변

4

이 작업은 서버 쪽에서 수행해야합니다.

그런 다음 사용자가 다운로드하라는 메시지가 표시됩니다

Content-type: application/octet 

또는

Content-disposition: attachment; filename=file.txt 

헤더를 전송하는 경우.

+1

보통 '옥텟 스트림'입니다. 그러나 '옥텟'은 알 수없는 유형이기 때문에 너무 간단하게 작동합니다. – bobince

1

내가 아는 한 순수한 자바 스크립트로 수행 할 수 없습니다. 적절한 헤더 서버 측을 보내야합니다.

Apache의 .htaccess 설정 (훨씬 쉽게) 또는 PHP (PHP를 통해 txt 파일을 구문 분석하거나 파일을 전달하는 PHP 스크립트를 도입해야하므로 더 복잡함)를 사용할 수있는 경우 다음을 참조하십시오. 허용 된 대답은 here입니다.

2

자바 스크립트 수준이 아님. 웹 서버 또는 서버 측 응용 프로그램에서 수행 할 수있는 컨텐츠의 MIME 유형을 변경하여 사용자 에이전트 (브라우저)가 시도 할 대상을 제어 할 수 있습니다. 의미

은, 당신의 "가 .txt '파일은

Content-Type: text/plain 

HTTP 헤더로 브라우저에 전송됩니다. 그것은 함께 제공됩니다 대신하는 경우 : 대신, 대부분 사용자가 (에 관계없이 파일 이름 또는 확장) D /하고자하는 사람들을 위해

1

파일을 저장하라는 메시지가 표시됩니다

Content-Type: application/octect-stream 

HTTP 헤더 를 heres 링크 cballou으로 최고의 솔루션

PHP: Force file download and IE, yet again

trhough 리터 파일

관련 문제