Je veux ajouter un bouton de téléchargement à mon téléchargeur de fichier dropzone. Actuellement, il télécharge le fichier directement après avoir sélectionné ou déplacé le fichier dans la zone de dépôt. Ce que je veux faire est: 1. Sélectionnez ou drapez le fichier à télécharger. 2. Validez 3. Appuyez sur ou sur le bouton Télécharger pour télécharger le fichier. N.B: Le fichier ne peut être téléchargé qu'après avoir appuyé sur le bouton de téléchargement.Dropzone Envoyer le bouton sur le téléchargement
Voici ma forme
<form id='frmTarget' name='dropzone' action='upload_files.php' class='dropzone'>
<div class='fallback'>
<input name='file' type='file' multiple />
</div>
<input id='refCampaignID' name='refCampaignID' type='hidden' value=\ "$rowCampaign->CampaignID\" />
</form>
Voici mon JS
Dropzone.options.frmTarget =
{
url: 'upload_files.php',
paramName: 'file',
clickable: true,
maxFilesize: 5,
uploadMultiple: true,
maxFiles: 2,
addRemoveLinks: true,
acceptedFiles: '.png,.jpg,.pdf',
dictDefaultMessage: 'Upload your files here',
success: function(file, response)
{
setTimeout(function() {
$('#insert_pic_div').hide();
$('#startEditingDiv').show();
}, 2000);
}
};
Voici ma demande post php
foreach ($_FILES["file"] as $key => $arrDetail)
{
foreach ($arrDetail as $index => $detail) {
//print_rr($_FILES["file"][$key][$index]);
$targetDir = "project_images/";
$fileName = $_FILES["file"]['name'][$index];
$targetFile = $targetDir.$fileName;
if(move_uploaded_file($_FILES["file"]['tmp_name'][$index],$targetFile))
{
$db = new ZoriDatabase("tblTarget", $_REQUEST["TargetID"], null, 0);
$db->Fields["refCampaignID"] = $_REQUEST["refCampaignID"];
$db->Fields["strPicture"] = $fileName;
$db->Fields["blnActive"] = 1;
$db->Fields["strLastUser"] = $_SESSION[USER]->USERNAME;
$result = $db->Save();
if($result->Error == 1){
return "Details not saved.";
}else{
return "Details saved.";
}
}else{
return "File not uploaded.";
}
}
}
J'ai essayé de mettre en œuvre votre réponse mais je reçois une erreur disant myDropzone pas défini. Je ne sais pas c'est probablement parce que je ne définis pas la zone de largage par programmation? Je suis toujours en train de trouver ce qui me manque. –
J'ai mis à jour mon code, veuillez réessayer. –