Je veux savoir comment créer un modèle d'aperçu personnalisé. La documentation n’explique pas tout, et j’ai cherché un tutoriel pour ne rien trouver.
Mettre à jour
Mon html
<div id="dropzone">
<div id="template-preview">
<img src="assets/images/icons/plus-icon-white.png" alt="" />
<span>Choose or drop file from your computer</span>
<div class="dz-preview dz-file-preview well" id="dz-preview-template">
<div class="dz-details">
<div class="dz-filename"><span data-dz-name></span></div>
<div class="dz-size" data-dz-size></div>
</div>
<div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div>
<div class="dz-success-mark"><span></span></div>
<div class="dz-error-mark"><span></span></div>
<div class="dz-error-message"><span data-dz-errormessage></span></div>
</div>
</div>
</div>
Mon js
var drop = $('#dz-preview-template').html();
$('#dropzone').dropzone({
url: "/upload",
maxFilesize: 100,
paramName: "uploadfile",
maxThumbnailFilesize: 5,
previewTemplate: drop,
previewsContainer: "#template-preview"
});
Pour moi cela a fonctionné avec
previewTemplate: document.getElementById('preview-template').innerHTML
mais je pense que cela devrait être la même chose que d'utiliser la fonction html()
dans jQuery
. La seule chose que j'ai faite différemment de votre code a été de définir l'autodiscover sur false auparavant. Peut-être que cela vous aide aussi?
Dropzone.autoDiscover = false;
var uploadLogo = new Dropzone("div#uploadLogo", {
url: "../uploads/logo"
, method: "post"
,...
,previewTemplate: document.getElementById('preview-template').innerHTML
,...
});
METTRE &AGRAVE; JOUR
Maintenant, je pense que je sais ce qui ne va pas dans votre code. Vous avez mis le code du modèle dans la variable dropzone
div. Mets-le dehors. Alors ça devrait marcher.
<div id="dropzone"></div>
<div id="template-preview">
<div class="dz-preview dz-file-preview well" id="dz-preview-template">
<div class="dz-details">
<div class="dz-filename"><span data-dz-name></span></div>
<div class="dz-size" data-dz-size></div>
</div>
<div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div>
<div class="dz-success-mark"><span></span></div>
<div class="dz-error-mark"><span></span></div>
<div class="dz-error-message"><span data-dz-errormessage></span></div>
</div>
</div>
Le texte à afficher pour votre zone de dépôt, vous pouvez définir lors de l’initialisation de la zone de dépôt:
$('#dropzone').dropzone({
...
, dictDefaultMessage: "Choose or drop file from your computer"
Pour la version 5.5.0 de dropzone.js, vous créez simplement un div avec l'id tpl
, Puis placez le modèle à l'intérieur. Lorsque vous définissez dropzone, définissez-le comme suit:
var myDropzone = new Dropzone("div#div_submit",
{ url: "mypage.aspx",
previewTemplate : document.querySelector('#tpl').innerHTML });