문제
나는 파일에 대한 링크를트:
<a href="history.nasa.gov/monograph15b.pdf">NASA</a>
하고 싶을 때,그래서 그것은 방문자가 링크를 클릭하여 다운로드 이름이는 팝업 PDF 것입니다.pdf 지 monograph15b.pdf.
이것이 가능한 언어?
해결책
지 않는 경우를 호스팅하려는 파일을 자신을 읽을 수 있습에 파일 내용과 다음 보낼 내용은 브라우저에 직접 적절한 헤더가 있습니다.
이는 속도가 느려질 수 있을 것이기 때문에 다시 다운로드 파일 NASA 에서 각각의 시간을 당신의 PHP 페이지 실행됩니다.
<?php
$filename = "http://history.nasa.gov/monograph15b.pdf";
$outputfilename = "NASA.pdf";
header("Content-Type: application/pdf");
header("Content-Disposition: attachment; filename=\"" . basename($outputfilename) . "\";" );
header("Content-Transfer-Encoding: binary");
readfile("$filename");
?>
또한 이러한 접근법이 필요 PHP 수 있도록 구성됩 fopen() 처리할 수 있는 파일을 읽기합니다.
다른 팁
실제로 그렇게하는 유일한 방법은 먼저 문제의 파일을 자신의 서버에 다운로드하고 원하는대로 이름을 지정 한 다음 최종 사용자에게 다시 제공하는 것입니다.
HTTP 헤더를 살펴보십시오 내용화 헤더, 파일 이름을 지정할 수 있습니다.
Asp.net과 같은 서버 측 기술을 사용해야합니다. 위치에 페이지에 버튼을 넣습니다. 버튼을 클릭하면 다음 작업이 수행됩니다.
1.) 응답 .clear ();
2.) response.addHeader ( "내용화", "첨부 파일; filename = nasa.pdf");
3.) 응답 .ContentType = "Application/Octet-stream";
4.) response.writefile (context.server.mappath ( "history.nasa.gov/monograph15b.pdf")); // 응용 프로그램의 실질적으로 올바른 경로를 설정해야합니다.