2014-10-20 11 views
6

Così ho la mia implementazione di questo tutorial qui: http://www.dropzonejs.com/bootstrap.htmlAggiunta di più dati per inviare Dropzone.js

Si sta lavorando molto, e io sono il caricamento di file più che bene. Quello che voglio fare ora è essere in grado di inviare un ID utente insieme all'immagine nei dati POST quando Dropzone carica l'immagine. Ho trovato il tutorial di enyo here che spiega come aggiungere dati di moduli nascosti a dropzone, ma utilizzando il tutorial di avvio dropzone fornisce, non esiste un modulo e quindi non è possibile inviare dati di post nascosti.

Come posso utilizzare il codice dell'esercitazione di bootstrap collegato a sopra, e tuttavia inviare ancora dati di input nascosti allo script di caricamento? Devo in qualche modo convertire il codice fornito in un modulo e, in tal caso, come dovrei farlo?

risposta

18

E 'stato un po' che lei ha chiesto questa domanda, ma in base ai suggerimenti del sito zona di lancio

http://www.dropzonejs.com/#tips

si dovrebbe essere in grado di fare una delle 3 cose -

1. Se non esiste una forma aggiunge parametri nascosti.

2. è possibile utilizzare params in questo modo -

new Dropzone({ 
    url: "/", 
    params: { 
     foo: "bar" 
    } 
}); 

3. maniglia della sull'invio di evento in questo modo -

myDropzone.on("sending", function(file, xhr, formData) { 

// Will sendthe filesize along with the file as POST data. 

formData.append("filesize", file.size); 

}); 
+2

Posso confermare, 'params: {foo:" bar "}' sta funzionando – Djomla

+0

se uso il valore dinamico .. non funzionerà con '' params: {pippo: dynamicValue} '' – Kasnady

3

Trovo che il tutorial ti stia fornendo un po 'di confusione poiché, in effetti, non c'è alcuna forma in questione. Basta creare un modulo con class="dropzone" e aggiungere input nascosti. Mostra solo il modello predefinito per i file rilasciati e un codice JS per la gestione degli eventi di base. Vi consiglio di dare un'occhiata a the main Dropzone page per gli esempi.

Per esempio, nel nostro codice, sembra un po 'come questo (redatto un po'):

<form action="myAction" 
     class="dropzone" 
     id="dropzoneId" 
     name="pictures"> 
    <input type="hidden" name="id"> 
</form> 

E, in realtà, questo è tutto. Abbiamo qualche codice Javascript per gestire il campo nascosto id e alcune funzioni più elaborate, ma l'ID viene pubblicato insieme ai dati dell'immagine.

+1

questo non funziona per me. è ancora fattibile? – user2570937

2

So che questo è un post piuttosto vecchio ma ho cercato di far funzionare la risposta di SolarBear e ha funzionato per me quando aggiungevo il parametro "value" all'input nascosto come questo;

<form action="/action.php" class="dropzone"> 
<input type="hidden" name="additionaldata" value="valueToPass" /> 
</form> 

Grazie per il vostro aiuto!