Yanıtlar:
Bu cevap eski. Biz şimdi sahip
download
niteliği . (ayrıca bu MDN bağlantısına bakın )
"İndirme bağlantısı" ile indirilecek bir dosyaya bağlantı kastediyorsanız,
<a href="http://example.com/files/myfile.pdf" target="_blank">Download</a>
target=_blank
İndirme işlemi başlamadan önce yeni bir tarayıcı penceresi görünür hale getirir. Tarayıcı genellikle kaynağın bir dosya indirme olduğunu fark ettiğinde bu pencere kapatılır.
Tarayıcı tarafından bilinen dosya türlerinin (örn. JPG veya GIF görüntüleri) genellikle tarayıcıda açılacağını unutmayın.
Burada açıklandığı gibi indirmeyi zorlamak için doğru başlıkları göndermeyi deneyebilirsiniz . (bunun için sunucu tarafı komut dosyaları veya sunucu ayarlarına erişim gerekir.)
HTML5'i destekleyen modern tarayıcılarda aşağıdakiler mümkündür:
<a href="link/to/your/download/file" download>Download link</a>
Bunu da kullanabilirsiniz:
<a href="link/to/your/download/file" download="filename">Download link</a>
Bu, gerçekten indirilmekte olan dosyanın adını değiştirmenize izin verecektir.
HTML5'in daha <a download
önce belirtilen özelliğine ek olarak (veya bunun yerine)
, tarayıcının disk davranışına indirmesi aşağıdaki http yanıt başlığı tarafından da tetiklenebilir:
Content-Disposition: attachment; filename=ProposedFileName.txt;
Bu, HTML5'ten önce yapmanın yoluydu (ve yine de HTML5'i destekleyen tarayıcılarla çalışıyor).
download
özellik ile karşılaştırıldığında iyi desteklenmektedir
Dosyaya bağlanmak için diğer sayfa bağlantılarıyla aynı işlemi yapın:
<a href="...">link text</a>
Yerleşik bir eklentisi olsa bile (Windows + QuickTime = ugh) bir şeyleri indirmeye zorlamak için bunu htaccess / apache2.conf dosyasında kullanabilirsiniz:
AddType application/octet-stream EXTENSION
Bu iş parçacığı muhtemelen eski, ama bu benim yerel dosya için html5 çalışır.
PDFS için:
<p><a href="file:///........example.pdf" download target="_blank">test pdf</a></p>
Bu, pdf'yi yeni bir pencerede açmalı ve indirmenize izin vermelidir (en azından firefox'ta). Başka herhangi bir dosya için, dosya adı yapmanız yeterlidir. Resimler ve müzik için bunları sitenizle aynı dizinde saklamak istersiniz. Yani böyle olurdu
<p><a href="images/logo2.png" download>test pdf</a></p>
İndirme özelliği IE'de çalışmaz, "indir" i tamamen yok sayar. Href uzak bir siteyi gösteriyorsa indirme Firefox'ta çalışmaz. Odin'in örneği Firefox 41.0.2'de çalışmaz.
Burada yardımcı olabilecek bir incelik daha var.
Hem tarayıcı içi oynatmaya hem de görüntülemeye izin veren bağlantıların yanı sıra tamamen indirmek için bir bağlantıya sahip olmak istiyorum. Yeni indirme özelliği iyidir, ancak her zaman çalışmaz, çünkü tarayıcının dosyayı oynatmak veya görüntülemek için zorlaması hala çok güçlüdür.
AMA .. Bu, URL'nin dosya adındaki uzantıyı incelemeye dayanır! Aynı dosyayı iki farklı yolla sunmak istediğiniz için sunucunun uzantı eşlemesiyle uğraşmak istemezsiniz. Bu nedenle, indirme için, dosyayı bu uzantı eşlemesine opak olan bir ada yumuşak bir şekilde bağlayarak, işaret ederek ve ardından adı düzeltmek için indirmenin yeniden adlandırma özelliğini kullanarak kandırabilirsiniz.
<a target="_blank" download="realname.mp3" href="realname.UNKNOWN">Download it</a>
<a target="_blank" href="realname.mp3">Play it</a>
Sadece sonunda bir kukla sorgu atma ya da uzatma işe yarayacak başka türlü umuyordu, ama ne yazık ki, değil.
Yolumu takip edebileceğiniz çeşitli şekillerde indirebilirsiniz. 'İzin verilen pop-up'lar' izni nedeniyle dosyalar indirilmese de, ortamınızda bu mükemmel bir şekilde çalışır
<div className="col-6">
<a download href="https://www.w3schools.com/images/myw3schoolsimage.jpg" >Test Download </a>
</div>
diğeri de 'X-Frame-Options' nedeniyle 'sameorigin' nedeniyle başarısız olacaktır.
<a href="https://www.w3schools.com/images/myw3schoolsimage.jpg" download>
<img src="https://www.w3schools.com/images/myw3schoolsimage.jpg" alt="W3Schools" width="104" height="142">
</a>
Bunun gibi
<a href="www.yoursite.com/theThingYouWantToDownload">Link name</a>
Yani example.com sitesindeki bir name.jpg dosyası şöyle görünecektir
<a href="www.example.com/name.jpg">Image</a>
./www.example.com/name.jpg
- http://
belirtilen etki alanına sahip mutlak bağlantılar için kullanmalısınız .
geç kaldığımı biliyorum ama aramadan 1 saat sonra aldığım şey bu
<?php
$file = 'file.pdf';
if (! file) {
die('file not found'); //Or do something
} else {
if(isset($_GET['file'])){
// Set headers
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file");
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");
// Read the file from disk
readfile($file); }
}
?>
ve indirilebilir bağlantı için bunu yaptım
<a href="index.php?file=file.pdf">Download PDF</a>