J'utilise dropzone dans mon projet Code Igniter.
À chaque glissement d'un fichier, dropzone crée une demande ajax et mes fichiers sont également stockés sur le serveur. Mais maintenant, je souhaite envoyer des données supplémentaires ( DYNAMIQUES ) à côté du fichier. Avec l'utilisation de paramètres, seules les données statiques peuvent être envoyées, mais les données que je veux envoyer changeront à chaque fois.
Voici à quoi ressemble mon code:
<script>
Dropzone.autoDiscover = false;
Dropzone.options.attachment = {
init: function(){
this.on('removedfile',function(file){
// console.log('akjsdhaksj');
var fileName = file.name;
$.ajax({
type: 'POST',
url: "<?php echo BASE_URL.'index.php/admin/mail_actions/deleteFile' ?>",
data: "id="+fileName,
dataType: 'html'
});
});
},
// params: {
// customerFolder: $('#toValue').substr(0, toValue.indexOf('@')),
// },
dictDefaultMessage:"Click / Drop here to upload files",
addRemoveLinks: true,
dictRemoveFile:"Remove",
maxFiles:3,
maxFilesize:8,
}
$(function(){
var uploadFilePath = "<?php echo BASE_URL.'index.php/admin/mail_actions/uploadFile' ?>";
var myDropzone = new Dropzone("div#attachment", { url: uploadFilePath});
});
</script>
Quoi qu'il en soit, je peux y arriver?
J? ai compris. C'est ce que je devais utiliser
myDropzone.on('sending', function(file, xhr, formData){
formData.append('userName', 'bob');
});
Abhinav a le droit et la réponse de travail Je veux seulement donner une deuxième option pour l'utiliser dans l'objet Options (par exemple, si vous avez plusieurs sections Dropzone sur une page.)
myDropzone.options.dropzoneDivID = {
sending: function(file, xhr, formData){
formData.append('userName', 'Bob');
}
};
Si vous avez un objet imbriqué, par exemple d'ajouter un nom à votre fichier et votre api n'accepte que quelque chose comme ça
{
someParameter: {
image: <my-upload-file>,
name: 'Bob'
}
}
votre configuration dropzone ressemblerait à ceci
var myDropzone = new Dropzone("div#attachment", {
url: uploadFilePath,
paramName: 'someParameter[image]'
});
myDropzone.on('sending', function(file, xhr, formData){
formData.append('someParameter[image]', file);
formData.append('someParameter[userName]', 'bob');
});
J'ai seulement ajouté ceci car il n'y avait aucun exemple pour les paramètres imbriqués documentés depuis maintenant.