我使用Vich Uploader Bundle提交一个图像每个表单,我希望能够显示图像的缩略图之前,它的上传,因为它是,图像上传,没有显示或做任何事情,以表明发生了什么。我尝试将inject_on_load
设置为true,但这只是将图像的url放在它出现的元素中。
config.yml
# Vich File Uploader
vich_uploader:
db_driver: orm
mappings:
image:
uri_prefix: /uploads/listings/images
upload_destination: '%kernel.root_dir%/../web/uploads/listings/images'
namer: vich_uploader.namer_uniqid
inject_on_load: false
delete_on_update: true
delete_on_remove: true
avatar_image:
uri_prefix: /uploads/avatars
upload_destination: '%kernel.root_dir%/../web/uploads/avatars'
namer: vich_uploader.namer_uniqid
inject_on_load: false
delete_on_update: true
delete_on_remove: true
agency_logo:
uri_prefix: /uploads/avatars
upload_destination: '%kernel.root_dir%/../web/uploads/avatars'
namer: vich_uploader.namer_uniqid
inject_on_load: false
delete_on_update: true
delete_on_remove: true
2条答案
按热度按时间fdbelqdn1#
下面是一个使用jquery库的简单例子:
在您模板中,我们假设您使用例如以下命令包含jquery库:
在你的项目中填入正确的resource jquery的url。
让我们创建一个简单的js函数:
JavaScript FileReader用于读取filePreview()函数中文件的内容
如果要预览所有类型的文件,请使用
<embed>
标记而不是<img>
标记。将下面的代码放在reader.onload事件中并删除现有代码:
现在调用filePreview()方法来更改文件输入:
你的Html看起来是这样的:
aamkag612#
我选择了
URL.createObjectURL()
,因为它不会在Firefox中导致任何冻结,我发现下面的代码片段对Vich来说效果很好。