sql >> Database teknologi >  >> RDS >> Mysql

hvordan downloader man blob-baseret fil fra MySQL-databasen i PHP?

Dette er det mest almindelige problem, man står over for, mens man håndterer blob-filen. Fra dit eksempel kan jeg se, at du gemmer "filType" som filtypenavne (dvs. 'jpg' for billeder, 'pdf' for pdf-filer osv.), du uploader. Men i stedet for det kan du gemme filtypen som MIME-indholdstypen.

Antag, at hvis du uploader et jpeg-billede - vil MIME-typen blive gemt i "filtypen" som "image/jpeg". Tilsvarende for pdf vil det blive gemt som "applikation/pdf". Jeg designede kode som denne for at downloade blob-filen fra databasen. Jeg vil antage, at filerne allerede er uploadet til den databasetabel, du har oprettet.

Databasetabel "uploads"

| fil-ID | filnavn | filtype | filstørrelse |fildata | bruger-ID |

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;

?>

Du kan finde den komplette kode for blob-upload her .



  1. Hvordan opretter man forbindelse til lokal vært ved hjælp af JDBC?

  2. QPSQL driver ikke indlæst Qt

  3. Få første dag i ugen i SQL Server

  4. Hvordan kan jeg importere en database med MySQL fra terminal?