Saya menghasilkan tautan normal seperti: <a href="https://stackoverflow.com/path/to/image"><img src="/path/to/image" /></a>
di aplikasi web.
Ketika saya mengklik tautan, itu menampilkan gambar di halaman baru. Jika Anda ingin menyimpan gambar, maka Anda perlu mengklik kanan padanya dan pilih "save as"
Saya tidak ingin perilaku ini, saya ingin kotak unduhan muncul ketika saya mengklik tautan, apakah itu mungkin hanya dengan html atau javascript? Bagaimana?
Jika tidak, saya rasa saya harus menulis skrip download.php dan memanggilnya ke href dengan nama file sebagai parameter ...?
Jawaban:
Ini belum sepenuhnya didukung http://caniuse.com/#feat=download , tetapi Anda dapat menggunakan dengan modernizr https://modernizr.com/download/?adownload-setclasses (di bawah Non-core detects ) untuk memeriksa dukungan dari browser.
sumber
download
atribut attributte hanya berfungsi untuk URL asal-sama . MDN DocsCara termudah untuk membuat tautan unduhan untuk gambar atau html adalah menyetel atribut unduhan , tetapi solusi ini hanya berfungsi di peramban modern.
"myimage" adalah nama file untuk diunduh. Ekstensi akan ditambahkan secara otomatis Contoh di sini
sumber
unduh.php:
sumber
<a href="download.php?file=../dbparams.inc>">Download</a>
misalnya. Info lebih lanjut di sini: en.wikipedia.org/wiki/Directory_traversal_attackTidak. Anda akan memerlukan sesuatu di server untuk mengirim header Content-Disposition untuk mengatur file sebagai lampiran alih-alih sejajar. Anda dapat melakukan ini dengan konfigurasi Apache biasa.
Saya telah menemukan contoh melakukannya menggunakan mod_rewrite , meskipun saya tahu ada cara yang lebih sederhana.
sumber
Jika Anda Menggunakan HTML5, Anda dapat menambahkan atribut 'unduh' ke tautan Anda.
http://www.w3schools.com/tags/att_a_download.asp
sumber
Coba ini...
sumber
Atribut unduhan HTML untuk menentukan bahwa target akan diunduh ketika pengguna mengklik hyperlink.
Atribut ini hanya digunakan jika atribut href diatur.
Nilai atribut akan menjadi nama file yang diunduh. Tidak ada batasan pada nilai yang diizinkan, dan browser akan secara otomatis mendeteksi ekstensi file yang benar dan menambahkannya ke file (.img, .pdf, .txt, .html, dll.).
Kode contoh:
HTML5:
Output :
Unduh Gambar >>
Unduhan HTML5 atau chrome
Unduh Gambar >>
sumber
Anda tidak dapat melakukannya dengan html / javascript murni. Ini karena Anda memiliki koneksi terpisah ke server web untuk mengambil file terpisah (gambar) dan server web normal akan melayani file dengan header konten diatur sehingga browser yang membaca jenis konten akan memutuskan bahwa jenisnya dapat ditangani secara internal.
Cara untuk memaksa browser untuk tidak menangani file secara internal adalah dengan mengubah header (disposisi konten lebih disukai, atau tipe konten) sehingga browser tidak akan mencoba untuk menangani file secara internal. Anda dapat melakukan ini dengan menulis skrip pada server web yang secara dinamis mengatur header (yaitu download.php) atau dengan mengkonfigurasi server web untuk mengembalikan header yang berbeda untuk file yang ingin Anda unduh. Anda dapat melakukan ini berdasarkan per direktori pada server web, yang akan memungkinkan Anda untuk pergi tanpa menulis php atau javascript - cukup sediakan semua gambar unduhan Anda di satu lokasi itu.
sumber
Kode sederhana untuk mengunduh gambar dengan mengklik gambar menggunakan php
sumber
Unduh gambar dengan menggunakan klik gambar!
Saya melakukan kode sederhana ini! :)
sumber