Sto cercando di caricare file utilizzando il metodo jquery ajax. ma sta causando l'errore 415 (tipo di supporto non supportato) sul client side.but con richiesta non-ajax il mio codice funziona correttamente.Caricamento del file ajax mvc di primavera con conseguente 415 (tipo di supporto non supportato)
Il mio codice di controllo.
@RequestMapping(value = "/imageUpload", headers = "content-type=multipart/*", method = RequestMethod.POST, consumes = "application/json")
public @ResponseBody
String uploadImage(@RequestParam("fileData") MultipartFile multipartFile, HttpServletRequest request)
{
// statements
}
mio avviso pagina
<form id="uploadForm" action="imageUpload" method="post" enctype="multipart/form-data">
<div>
<input type="file" id="fileData" name="fileData" />
<input type="submit" id="submitContent" value="upload" />
</div>
</form>
e chiamata AJAX.
$("#uploadForm").submit(function (e) {
e.preventDefault();
var $form = $("#uploadForm");
$.ajax({
type: $form.attr('method'),
url: $form.attr('action'),
data: $form.serialize(),
dataType : 'json',
enctype: 'multipart/form-data',
processData: false,
success: function(msg){
$("#editor").append(msg);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Status: " + XMLHttpRequest); alert("Status: " + textStatus); alert("Error: " + errorThrown);
}
});
});
Ho provato parecchie cose come l'impostazione contentType: falsi. quindi si prega di suggerire eventuali modifiche se necessario.
grande :) è possibile contrassegnare come una risposta –
funzionato come un fascino. Ma perché non funziona con i dati: $ form.serialize() e sto aggiungendo l'immagine caricata all'interno di un div ma l'immagine non è visibile – piechuckerr