Sto lavorando a un progetto necessario caricare file di grandi dimensioni sul lato server. Ho deciso di utilizzare HTML5 FileReader e jQuery per caricare il file in blocchi (ArrayBuffer).Invia ArrayBuffer con un'altra stringa in una chiamata Ajax tramite jQuery
Ho completato correttamente questa operazione convertendo i blocchi in una stringa base64, inviata al server di back-end tramite jQuery.post con il parametro data in formato JSON.
Per esempio
$.ajax({
url: "/Home/Upload",
type: "POST",
data: {
name: block.name,
index: block.index,
base64: base64
},
processData: true
});
Ma mi piacerebbe per ottimizzare questo codice dal base64 è troppo grande da trasformare. Mi piacerebbe sapere se potrei inviare ArrayBuffer direttamente tramite $.ajax
.
So che se imposto lo processData: false
e inserisco ArrayBuffer nei parametri dei dati, potrebbe essere inviato al mio server come Request.InputStream
. Ma in questo modo non posso allegare altri dati come name
e index
.
Mi piacerebbe sapere se posso inviare l'ArrayBuffer (o blob, binario) non elaborato da solo con i miei altri dati (nome, indice) in una chiamata ajax.