我真的很喜欢filepond的界面,但很难在后端获取上传的图像。我的代码适用于普通文件输入。
我目前在default.htm中有这个
<input type="file"
class="filepond"
name="allimages[]"
multiple
data-max-file-size="3MB"
data-max-files="12">
PostForm.php来处理文件。
$advert->allimage = Input::file('allimage');
这是浏览器限制。使用fetch
或XMLHttpRequest
发送数据时,您只能POST文件对象,但这意味着您必须异步提交表单。
当我们想要提交文件以及经典表单帖子时,我们遇到严重的浏览器限制。文件输入字段是唯一可用于将文件提交到服务器的字段,但无法设置其值。用户只能通过手动添加文件(在一个操作中)修改文件输入字段值。
要解决此问题,您可以使用File Encode plugin,它将文件编码为base64数据字符串并将其发送到服务器。
提交具有非常大的base64编码字符串的表单会导致浏览器内存不足(特别是在移动设备上)。服务器端安全软件也可能将大型帖子标记为不安全,并阻止提交成功。