2012-06-25 1 views
8

Ho una pagina Web che consente a un utente di caricare file utilizzando dati multipart/form (cioè con un tipo di input = tag "file"). Tuttavia, ecco un filtro per la sicurezza dei contenuti Web che blocca efficacemente i dati dei moduli binari inviati.Come posso inviare dati binari in formato multipart html in una codifica basata su caratteri?

È possibile avere i dati di forma binaria convertiti e inviati come dati di carattere (ad esempio base64)? Preferibilmente questo sarebbe fatto automaticamente dal browser attraverso un'istruzione dichiarativa, se possibile. Penso che non sia, ma ho pensato di chiedere.

Altrimenti, è possibile farlo a livello di programmazione in modo che alcuni JavaScript intercettano l'invio del modulo e modificano il contenuto del file caricato con i dati del modulo?

È preferibile una soluzione a base di wicket e/o jquery.

Nota: Non sto chiedendo come fare la codifica Base64 in JavaScript. Per favore, non contrassegnare questo come un duplicato senza effettivamente capire la domanda prima come hanno fatto le cinque persone che hanno votato per chiudere il mio primo tentativo della domanda! How to send binary multipart formdata as base64?

La domanda è di più su come effettuare tali codifiche nel contesto di una presentazione di moduli in più parti.

risposta

1

OK, dopo qualche ricerca in più chiamerò una risposta sulla mia stessa domanda.

Questa domanda su SO fornisce indirettamente la risposta anche se la domanda non è la stessa.

Is it possible to intercept the file from a <input type=file> in javascript?

In sostanza sembra che ci sia alcun modo standard (in HTML4 ogni caso, sembra possibile con HTML5) per accedere al contenuto effettivo di un file selezionato dal browser)

Così senza re-encoding di un file caricato può verificarsi prima che venga inviato al browser.