我的目标是更改用户个人资料图片。 存在一种形式,但我不知道如何使用它。 我的问题是我使用ImagerJS来裁剪和旋转我的图像,当我保存它时,用文件数据调用一个回调函数。
我需要发送一份表格才能使其发挥作用:
public function uploadFileAction(Request $request)
{
$user = $this->userManager->getById($request->get('id'));
$form = $this->formFactory->create(CandidatePhotoType::class, $user);
$form->get('photo')->setData($request->get('file'));
$form->handleRequest($request);
if ($form->isValid())
{
$this->userManager->update($user);
}
return new Response("Success");
}
以及我如何在js中发送它:
function saveImageData (imageId, imageData)
{
var formData = new FormData(imageData);
formData.append("id", currentId.toString());
$.ajax({
url: '{{ path('admin_photo_moderation_upload_file') }}',
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function (response) {
alert(response);
}
});
return false;
}
在我看来,我可以使用
创建表单{{ form(form, {'method': 'POST'}) }}
但这没有任何意义,因为我无法选择文件。
你知道我填写表格的方式,所以我可以使用
$form->handleRequest($request);