2013-03-25 4 views
0

나는 (모두 데스크톱과 모바일 장치에서 실행) JQuery와 모바일 응용 프로그램에서 파일 목록을 제시 할 필요가있다. 주로 바탕 화면에서 목록에서 파일을 다운로드해야합니다.PHP 파일 다운로드

<a href="download.php?file=test.txt">test.txt<a> 

문제는 사용자가 링크를 클릭 할 때 파일의 실제 내용이 표시된다는 것입니다 다음과 같이 나는 간단한 HREF 있습니다. 나는 사용자가 파일을 로컬에 저장할 수 있기를 원한다. 헤더를 올바르게 설정하고 있다고 생각합니다.

Response Headers 
Accept-Ranges bytes 
Cache-Control public, must-revalidate, post-check=0, pre-check=0 
Connection Keep-Alive 
Content-Disposition attachment; filename="test.txt" 
Content-Length 95 
Content-Type application/octet-stream 
Date Mon, 25 Mar 2013 17:35:26 GMT 
Expires -1 
Keep-Alive timeout=5, max=99 
Pragma public 
Server Apache/2.2.24 (Unix) mod_ssl/2.2.24 OpenSSL/1.0.0-fips 
Request Headers 
Accept text/html, */*; q=0.01 
Accept-Encoding gzip, deflate 
Accept-Language en-US,en;q=0.5 
Cookie PHPSESSID=bbf2549f793aed8565b44d532a3088dc; path=%2F; fileDownload=true 
Host 192.168.1.225 
Referer http://192.168.1.225/ 
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0 
X-Requested-With XMLHttpRequest 

내가 윈도우 상자에서 브라우저를 테스트입니다 :이 헤더의 방화범 덤프입니다.

무엇이 여기에 있습니까?

+0

'의 X-요청-으로 :.? 간단한 링크 –

+0

ÁlvaroG.Vicario @ 그래 그 또한 나를 퍼즐이 아니 었 XMLHttpRequest'? 그것은 단순한 링크입니다. 아마도 jquerymobile이 모든 링크를 인계받습니다. 나는 Ajax를 비활성화하려고 시도 할 것입니다. – mlewis54

+0

그래, 틀렸어.하지만 AJAX로 파일을 다운로드 할 수 있다고 생각하지 않아. –

답변

0

답변은 비교적 간단합니다. Jquery mobile은 모든 링크를 Ajax 요청 (내가 잊어 버린 것)으로 만든다. 이 솔루션은 링크에 "확인해 =" "외부가 아닌 아약스와 같이 링크를 만들어 추가하는 것입니다. 올바른 방향으로 날을 가리키는 위해 알바 G. 카리오에

<a href="download.php?file=test.txt" rel="external">test.txt<a> 

감사

0

당신은 또한 나를 위해 작동, jQuet 모바일 전에이 sceipt 권한을 추가 할 수

<script> 
$(document).bind("mobileinit", function(){ 
    $.mobile.ajaxEnabled = false; 
}); 
</script>