如何在不提交表单的情况下填充表单?

时间:2018-06-19 09:48:38

标签: javascript symfony

我的目标是更改用户个人资料图片。 存在一种形式,但我不知道如何使用它。 我的问题是我使用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);

0 个答案:

没有答案