Image 带有url的输入文件

Image 带有url的输入文件,image,file,symfony,url,input,Image,File,Symfony,Url,Input,我有一个文件类型的输入,我想允许用户在他的计算机上选择一个图像,或者只给出一个url,我们的服务器将自己下载图像。 我有一个问题,因为我只需要使用一个输入来上载本地图像和链接图像。您可以使用JQuery来实现这一点, 只需在视图文件中保留输入类型TextType ... <button id="uploadButton">Upload Image</button> {{ form_widget(form.image , { 'id': 'image-field' }) }

我有一个文件类型的输入,我想允许用户在他的计算机上选择一个图像,或者只给出一个url,我们的服务器将自己下载图像。
我有一个问题,因为我只需要使用一个输入来上载本地图像和链接图像。

您可以使用JQuery来实现这一点, 只需在视图文件中保留输入类型
TextType

...
<button id="uploadButton">Upload Image</button>
{{ form_widget(form.image , { 'id': 'image-field' }) }}
...

<script>
..
 $('#uploadButton').click(function () {
        var button = $(this);

        if(button.text === 'Upload Image') {
            button.text('Set URL');
            $('#image-field').prop('type', 'file');
        } else {
            button.text('Upload Image');
            $('#image-field').prop('type', 'url');
        }
    });
..
</script>
。。。
上传图像
{{form_小部件(form.image,{'id':'image field}}}
...
..
$(“#上载按钮”)。单击(函数(){
var按钮=$(此按钮);
如果(button.text===‘上传图像’){
文本(“设置URL”);
$(“#图像字段”).prop('type','file');
}否则{
文本(“上传图像”);
$(“#图像字段”).prop('type','url');
}
});
..

在控制器中提交表单后,不要忘记使用
if($request->files->has('imageField')检查名为image的输入是文件还是URL..

您是否尝试使用选择复选框来选择是否要输入图像或URL?为什么只需要使用一个输入?这很愚蠢,您可以放置2并隐藏一个可以通过链接或按钮显示的输入。(然后隐藏另一个字段)