2011-05-06 4 views
0

클라이언트 측에서 압축 파일을 얻을 수있는 솔루션 (설계)을 찾고 있습니다. i) 사용자가 링크를 클릭합니다. ii) 이렇게하면 서버가 클라이언트 측에 두 개의 파일을 보내고 저장합니다 (또는 메모리에 유지). (이제는 어떻게 할 것인지, 심지어 가능할 지 모르겠습니다.) iii) 클라이언트 쪽에서 파일을 압축 한 다음 다운로드 대화 상자에서 클라이언트에 다운로드하여 다운로드하십시오.ClientSide에서 압축 파일 받기

어떻게하면 좋을까요? 이 일을 할 수있는 자바 스크립트/아약스 라이브러리가 있나요?

는 파일 서버에서 압축 할 필요가

답변

1

(I는 서버 측에 펄이). 클라이언트 쪽에서 압축하면 압축되지 않은 파일을 먼저 다운로드하고 다운로드 할 수 없으므로 다운로드 할 수 없거나 압축되지 않은 파일이 서버가 아닌 클라이언트에있는 것처럼 이해해야합니다.

저는 Perl에 대한 전문가는 아니지만 최소한 Perl에 내장 된 지원 또는 적어도이 플러그인이 있음을 확신하지만 쉘 명령을 사용하여 파일을 압축 할 수 있어야합니다. 우편 번호가 생성 된 후 응답에 올바른 Content-Type 헤더를 설정하고 파일을 인쇄하십시오.

편집 : 추가 조사가 끝나면 "불가능"부분이 수정됩니다. JSZip이라는 라이브러리가 서버에서 파일을 다운로드 한 다음 클라이언트에서 압축하는 라이브러리가있는 것으로 보입니다. 그것이 당신을 위해 작동하는지 한번 볼 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 하지만 그 이유는 무엇 때문에 내가 원하는 것입니다. 나는 서버에 우편 번호를 원하지 않는다. 나는 그것이별로 의미가 없다는 것을 안다. 내 목표는 파일을 압축하는 것이 아니라 클라이언트에 단일 압축 파일로 제공하는 것입니다. "... 이것 이후에 다운로드하는 것은 불가능합니다 ..."-이 경우, 나는이 접근법을 포기하고 서버 접근법에 대해 압축해야합니다. –

+0

@ TJ- : "불가능한"부분을 되 찾을 수 있습니다. 편집을 참조하십시오. – Kaivosukeltaja

+0

와우. 감사합니다. 하지만 제 생각에는 여전히 문제가 있습니다. 이 라이브러리는 파일이 디스크에있을 것으로 예상합니다. 그러나 클라이언트의 http 요청에 대한 응답으로 메모리에만 파일을 저장할 수 있으므로 단일 요청에서 여러 파일을 처리하는 방법을 찾아야합니다. 클라이언트가 승인하지 않으면 파일을 디스크에 보관할 수 없습니다. –