Ini adalah masalah paling umum yang dihadapi saat berurusan dengan file blob. Dari contoh Anda, saya dapat melihat bahwa Anda menyimpan "fileType" sebagai ekstensi file (yaitu 'jpg' untuk gambar, 'pdf' untuk file pdf, dll.), Anda mengunggah. Namun sebagai gantinya Anda dapat menyimpan tipe file sebagai tipe konten MIME.
Misalkan jika Anda mengunggah gambar jpeg - tipe MIME akan disimpan di "fileType" sebagai "gambar/jpeg". Demikian pula untuk pdf akan disimpan sebagai "aplikasi/pdf". Saya merancang kode seperti ini untuk mengunduh file blob dari database. Saya akan berasumsi bahwa file sudah diunggah ke tabel database yang Anda buat.
Tabel database "upload"
| ID file | nama file | jenis file | ukuran file |fileData | ID pengguna |
download.php
<?php
$connection = mysqli_connect("localhost","root"," ",your_database)
or die('Database Connection Failed');
mysqli_set_charset($connection,'utf-8');
$id = 1;
// Use a prepared statement in production to avoid SQL injection;
// we can get away with this here because we're the only ones who
// are going to use this script.
$query = "SELECT * " ."FROM uploads WHERE userID = '$id'";
$result = mysqli_query($connection,$query)
or die('Error, query failed');
list($id, $file, $type, $size,$content) = mysqli_fetch_array($result);
header("Content-length: $size");
header("Content-type: $type");
header("Content-Disposition: attachment; filename=$file");
ob_clean();
flush();
echo $content;
mysqli_close($connection);
exit;
?>
Anda dapat menemukan kode lengkap blob-upload di sini .