6
我已經從ajax上傳文件到Symfony2控制器的問題。用ajax和Symfony2上傳文件
這是我的形式由客戶端:
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() {
}
});
}
}
]
});
};
,這是我的控制器
public function uploadAttachmentAction(Request $request) {
$fileBag = $request->files;
var_dump($fileBag);
}
當我試圖表明上傳的文件我得到一個空FileBag對象:
對象(Symfony的\分量\ HttpFoundation \ FileBag)第12(1 ){
[ 「參數」:保護] =>數組(0){}}
什麼可能是錯誤?
編輯: 我解決它。我加入jQuery的AJAX參數
緩存:假的,類型: 'POST'
,一切都ok了:)
您是否嘗試過記錄'document.getElementById('file')。文件[0]'的值? – colinD
是的,它看起來不錯。 – math
我解決了這個問題。我添加到ajax參數:cache:false並鍵入:'POST'。現在一切正常:) – math