사용자 요청에 대한 응답을 압축 할 수없는 서버를 가정합니다. 그럼에도 불구하고 웹 개발자는 myfile.txt.gz
을 생성하여 http://www.mysite.com/myfile.txt.gz
에 저장합니다.브라우저 gunzip으로 Ajax에서 gziped 텍스트 파일을 가져 오는 방법은 무엇입니까?
브라우저가 Ajax 요청의 일부로이 압축 텍스트 파일을 자동으로 압축하여 결과를 var
에 저장할 수 있습니까? 그렇다면 어떻게?
필요한 경우 다른 압축 알고리즘을 사용할 수 있습니다.
나는 다음과 같은 JQuery와 아약스 호출을 사용하려고
업데이트 :
var fetch = function() {
$.ajax({
type: 'GET',
url: "./data.txt.gz",
headers: { "Accept-Encoding" : "gzip" },
dataType: "text",
async: true,
success: function(result) {
$("#midEnglob").text(result);
},
error: function(jqXHR, textStatus, errorThrown) {
alert("Issue: "
+ textStatus + " "
+ errorThrown + " !");
}
});
}
을하지만 난 내 브라우저에 다음을 얻을 :
어떤 아이디어?
확실치 않지만 헤더를'Content-type : text/plain'과'Content-encoding : gzip'으로 설정하면 제대로 작동 할 것입니다. 그것이 HTML 페이지가 gzip으로 보내지는 방법입니다. 먼저 Accept-Encoding 헤더를 확인해야합니다. –
노력하고 있지만 작동하지 않는 것 같습니다. 운영 코드 예제가 있습니까? – JVerstry
내가 제안한 모든 코드는 서버 측에 있습니다. 어떤 서버 측 언어 (있는 경우)를 사용하고 있습니까 (필자는 PHP 만 알고 있습니다)? 자바 스크립트에서 특별한 일을해서는 안되며 평상시처럼 AJAX 호출을하면됩니다. 브라우저가 gzip을 지원하고 서버가'Content-encoding' 헤더를 보내면 자동으로 압축이 풀립니다. –