2013-05-21 3 views
0

CGI를 사용하여 C :/디렉토리에있는 파일을 다운로드하는 코드가 무엇인지 알고 싶습니다. (이상하게 들릴 수도 있지만, 파일이 다른 컴퓨터의 C : /에있는 서버).CGI로 파일을 다운로드하는 방법

나는 Content-Disposition을 사용해야 만한다는 것을 알고 있지만, 시도한 모든 방법으로 CGI는 아무것도 다운로드하지 못하고 내가 준 형식의 이름을 가진 빈 파일 만 생성합니다.

cout << "Content-type:image/png\r\n"; 
cout << "Content-Disposition: attachment; filename=teste.png\r\n\r\n"; 

지금은 데이터 형식으로 이미지를 사용하고, 나중에 I'l라는 데이터의 특정 패키지를 다운로드하려면를 들면 : 나는 그것을 작동하게하려고 여러 가지 방법 중이 기본 코드입니다. pac.

답변

1

는 것 같은데 어떤 도움

감사합니다,

Momergil, 당신은 다운로드 할 파일을 업로드 할 수 있습니다.

헤더에 파일 이름을 인쇄하는 것은 enouph가 아닙니다. 헤더를 인쇄 한 후 파일을 열고 원시 바이트 모드로 내용을 보내면 ... 완료되었습니다.

클라이언트 브라우저에서 파일을 저장하라는 메시지가 표시됩니다.

-

표준 : : cout을 < <에 "Hello World"< < 표준 : : endl의; 은 다음보다 우수합니다. std :: cout < < "hello world"< < "\ r \ n";

"\ r \ n"은 웹 표준화되지 않았기 때문에 linux/android에서 예상대로 작동하지 않습니다.

+1

괜찮습니다. 하지만 내가 cout을 사용하고 있다면 파일을 저장하려는 파일 경로를 어떻게 전달할 수 있습니까? – Momergil

+0

서버 측에서이 작업을 수행 할 수 있는지 잘 모르겠습니다. 이것은 클라이언트에서 심각한 보안 흐름이 될 수 있습니다. 좋은 '.pac'는 실제로 바이러스 일 수 있습니다. – You

+0

나는 이해한다고 생각하지만, 나는 CGI 스크립트에서 그것을하는 방법이 있다고 상상한다. 게다가, 파일이로드 될 때 항상 (적어도 시도 할 때), 브라우저는 어쨌든 다운로드 폴더에 사본을 생성합니다. 그래서 바이러스 인 경우 너무 늦었습니다 :) – Momergil

관련 문제