2016-08-22 1 views
0

J'ai essayé d'obtenir une réponse sur la façon de télécharger une image qui a été créée à partir d'un div. J'ai le code pour créer le div à une image maintenant j'ai besoin de savoir comment je peux télécharger cette image dans mon dossier de base de données j'ai besoin de le télécharger sur soumettre avec un nom de fichier unique. celui qui me concerne le plus est de savoir comment télécharger sur soumettre. Sera-t-il possible de télécharger l'image de div en utilisant le même code pour télécharger des fichiers image réguliers?Télécharger l'image div vers la base de données sur soumettre

$(document).ready(function(){ 
 

 
\t 
 
var element = $("#firstshirt"); // global variable 
 
var getCanvas; // global variable 
 
    
 
    $("#btn-Preview-Image").on('click', function() { 
 
     html2canvas(element, { 
 
     onrendered: function (canvas) { 
 
       $("#previewImage").append(canvas); 
 
       getCanvas = canvas; 
 
      } 
 
     }); 
 
    }); 
 

 
\t $("#btn-Convert-Html2Image").on('click', function() { 
 
    var imgageData = getCanvas.toDataURL("image/png"); 
 
    // Now browser starts downloading it instead of just showing it 
 
    var newData = imgageData.replace(/^data:image\/png/, "data:application/octet-stream"); 
 
    $("#btn-Convert-Html2Image").attr("download", "your_pic_name.png").attr("href", newData); 
 
\t }); 
 

 
});
<center><input id="btn-Preview-Image" type="button" value="Preview"/> 
 
    <button type="button" id="btn-Convert-Html2Image" href="#">Download</button> 
 
    <br/> 
 
    
 
</center> 
 
<center><input type="submit" name="submit" value="Next" /></center>
ceci est mon image upload PHP
<?php 
 
require_once("configur.php"); 
 
\t 
 

 
$query='UPDATE profile_table SET images="'.$_FILES['file']['name'].'" 
 
WHERE email= "'.$_SESSION['email'].'"'; 
 

 
if ($mysqli->query($query) === TRUE) { 
 
    echo "Record updated successfully"; 
 
} else { 
 
    echo "Error updating record: " . $conn->error; 
 
} 
 

 
$mysqli->close(); 
 
?> 
 

 

 
<?php 
 

 
include('configur.php'); 
 
if($_POST) 
 
{ 
 
// $_FILES["file"]["error"] is HTTP File Upload variables $_FILES["file"] "file" is the name of input field you have in form tag. 
 

 
    
 

 
if ($_FILES["file"]["error"] > 0) 
 
{ 
 
// if there is error in file uploading 
 
echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; 
 

 
    
 

 
} 
 
else 
 
{ 
 
// check if file already exit in "images" folder. 
 
if (file_exists("upload/" . $_FILES["file"]["name"])) 
 
{ 
 
    
 
} 
 
else 
 
{ //move_uploaded_file function will upload your image. 
 
if(move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"])) 
 
{ 
 
// If file has uploaded successfully, store its name in data base 
 
$query_image = "insert into profile_table"; 
 
    
 
if(mysqli_query($link, $query_image)) 
 
{ 
 
echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; 
 
} 
 
else 
 
{ 
 
echo''; 
 
} 
 
} 
 
} 
 

 
    
 

 

 
} 
 
} 
 

 

 
?>

Répondre

0

"insert into profile_table" est pas valable MySql (ou au moins changer l'habitude de rien), je propose
$query='UPDATE profile_table SET images="'.$_FILES['file']['name'].'" WHERE email= "'.$_SESSION['email'].'"'; à la fin sous le fichier a mis en ligne avec succès la clause et stocker son chemin dans la base de données (changer images="'.$_FILES['file']['name'].'" à images="'upload/.$_FILES['file']['name'].'"'). Pour accéder au fichier, vous pouvez maintenant interroger la base de données et renvoyer le flux via un autre script PHP.