2012-03-28 7 views
1

긴 문자열 (13,000 자 이상)을 이름과 확장명을 가진 다운로드 파일에 덤프하는 가장 좋은 방법은 무엇입니까? 필요한 경우 jQuery, 아마도 ajax 또는 php 사용.jQuery 다운로드 할 파일

감사합니다.

function output(){ 
$.ajax({ 
    dataType:"html", 
    type:"POST", 
    data:{ 
     content:$("#fileDump").contents().find('html').html(), 
     fname:fileName 
    }, 
    url:"filer.php", 
    success: function(data){ 
     console.log(data); 
    }, 
    error: function(data, status, error){ 
     console.log(status); 
     console.log(error); 
    } 
}); 

} 
+0

그냥 일반 텍스트 파일을? –

+0

문자열이 클라이언트 또는 서버 측에서 생성됩니까? –

+0

jQuery, ajax 및 php (가능한 서버 측 lang)에 대한 질문에 답변했습니다. 나는 왜 서버가 13,000+ 문자를 생성하지 않는지, 그리고 왜 jQuery가 WYSIWYG인지를 묻습니다. 어느 쪽이든 Ajax 요청에서 POST를 사용하지 마십시오. –

답변

1

PHP :

$content = "a long string"; 
file_put_contents($file, $content); 
// force download 
header('Content-Type: application/octet-stream'); 
header('Content-Disposition: attachment'); 
readfile($file); 

file_put_contents, headerreadfile 사용합니다. 필요한 경우

당신은 Content-Disposition에 파일 이름을 추가 할 수 있습니다

header('Content-Disposition: attachment; filename="a_text_file.txt'); 
+0

PHP가 문제가 아닙니다. jquery/ajax입니다. 나는 PHP에서 응답을 얻을 수 있지만 다운로드하지 않습니다. – anijam

+0

현재 코드를 게시하십시오. 그렇다면 우리는 당신의 생각이 무엇입니까? – ManseUK

+0

ajax가 추가되었습니다. 그것으로 무엇을 해야할지 모르겠다. 나는 온라인에서 계속 찾고 있고 모든 사람들이 iframe을 사용한다고 말하고 있지만 그것이 의미하는 것이 무엇인지 모르겠다. 이미 숨겨진 iframe에 있습니다. 난 그냥 사용자가 다운로드를 원한다. – anijam

관련 문제