我想在多个输入文件中显示上传的图像; 输入文件的格式定位到我的显示页面:
<form method="POST" action="{{ 'etape_4'|page }}" accept-charset="UTF8" enctype="multipart/form-data">
<input type="hidden" name="_handler" value="onTest">
{{form_token()}}
{{form_sessionkey()}}
Upload photo: <input name="photo[]" type="file" id="photo" multiple="multiple" />
<div class=" col-sm-offset-3 col-sm-9">
<button type="submit" class="btn btn-default">Suivant</button>
</div>
</form>
这是显示页面:
title = "etape_4"
url = "/etape_4"
is_hidden = 0
==
<?php
function onStart()
{
$this['file'] = new \System\Models\File;
$this['file']->fromFile(Input::file('photo'));
}
?>
==
<ul>
{%for image in file%}
<li>
{{image.path}}
<img src="{{image.path}}">
{%endfor%}
</li>
</ul>
当我选择图像并提交页面时,出现此错误:
is_file()期望参数1为有效路径,并给出数组
那么解决方案是什么? 请帮助我!
答案 0 :(得分:1)
您似乎是uploading multiple files and treating them as single file Object
让正确的
onStart
方法支持多个文件
function onStart()
{
$files = [];
$multipleFiles = Input::file('photo');
foreach($multipleFiles as $singleFile) {
$fileModel = new \System\Models\File;
$fileModel->fromFile($singleFile);
$files[] = $fileModel;
}
$this['file'] = $files;
}
只需用此代码替换您的
onStart
代码即可。
如有疑问,请发表评论。