Ho riscontrato problemi con il caricamento del file dal modulo al controller Symfony2 da parte di ajax.Carica file con ajax e Symfony2
Questa è la mia forma da lato client:
var uploadFile = function() {
var content = "<form id='uploadFile' enctype='multipart/form-data' action='' method='post'>" +
"<input id='file' type='file'/>" +
"</form>";
$("#upload-dialog").html(content);
$("#upload-dialog").dialog({
resizable: false,
title: 'Dodaj załączniki do umowy',
height: 300,
width: 450,
buttons: [
{
text: 'Wyślij',
click: function() {
var formData = new FormData();
formData.append('file', document.getElementById('file').files[0]);
$.ajax({
url: Routing.generate('employees_upload_attachment'),
data: formData,
enctype: 'multipart/form-data',
processData: false,
contentType: false,
success: function() {
},
error: function() {
}
});
}
}
]
});
};
e questo è il mio controller
public function uploadAttachmentAction(Request $request) {
$fileBag = $request->files;
var_dump($fileBag);
}
Quando cerco di mostrare file caricato ottengo un oggetto FileBag vuoto:
oggetto (Symfony \ Component \ HttpFoundation \ FileBag) # 12 (1) {
[ "parametri": protected] => array (0) {}}
cosa potrebbe essere sbagliato?
EDIT: Ho risolto it.I aggiunti ai parametri jquery ajax
cache: false, tipo: 'POST'
e tutto è ok :)
Avete provato a registrare il valore di 'document.getElementById ('file'). Files [0]'? – colinD
Sì, sembra buono. – math
Ho risolto questo problema. Ho aggiunto ai parametri di Ajax: cache: false e digitare: 'POST'. Ora è tutto ok :) – math