Yerine açılış PDF dosyasını indirmek için istemi kullanıcı

5 Cevap php

Ben bir bağlantıya tıklarsanız benim proje sitesinde, PDF yeni veya ana pencerede açılır. Peki ben bunun yerine açmadan dosyayı indirmek için kullanıcıya sorar görünmesini kutu istiyorum.

Herkes varsayılan ayarları ile, tüm tarayıcılarda, bu yapacak basit bir JavaScript onClick olayı biliyor mu?

Benim sunucu tabanlı PHP.

5 Cevap

PHP kullanarak konum sizin düzenlemek devletler yana, burada PHP aynı şeyi nasıl:

<?php
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="downloaded.pdf"');
readfile('original.pdf');
?>

. Bunu etiketlendi beri NET, ben bu en iyi çözüm olduğunu söyleyebilirim:

    Response.ClearContent();
    Response.ClearHeaders();
    Response.ContentType = "application/pdf";
    Response.AddHeader("Content-Disposition", "attachment;filename=download.pdf");
    Response.WriteFile(Server.MapPath("~/files/myFile.pdf"));
    Response.Flush();
    Response.Close();

Content-Type application / octet-stream değiştirin. Bazı tarayıcılar sizin sevdiğiniz PDF görüntüleyici ile bir PDF olarak açmak gerektiğini dosya uzantısı anlaması olacağını, ancak bulabilirsiniz.

Response.ContentType = "application/octet-stream";

Ayrıca, aşağıdaki ayarlayın:

Response.AppendHeader( "content-disposition", "attachment; filename=" + name );

Bunu javascript ile bunu yapamaz, sunucu tarafı uygulama gerekir.

Here's the SO Post which should help:
Allowing user to download from my site through Response.WriteFile()