如何在多个文件输入中动态填充文件
Posted
技术标签:
【中文标题】如何在多个文件输入中动态填充文件【英文标题】:How to dynamically populate files in multiple file input 【发布时间】:2020-04-08 01:04:33 【问题描述】:我正在使用 javascript 库 here 选择多个图像并通过表单将它们保存在数据库中,当我编辑表单时,我从数据中获取图像并像这样填充。
<script>
var upload = new FileUploadWithPreview('myUniqueUploadId',
showDeleteButtonOnImages: true,
text:
chooseFile: 'Įkelkite nuotrauką',
browse: 'naršyti',
selectedCount: 'Pasirinkti failai',
,
presetFiles: [
<?php
foreach($Workimages as $Workimg)
echo $website_url.'master_image/'.$Workimg.','
],
)
</script>
图像以Blob
的形式出现并且正在被填充,但是当我更新数据库中的数据时,旧图像被忽略,但新选择的图像被上传。我还检查了$_FILES['images']
。它没有我的旧图像文件。
我也尝试过使用upload.cachedFilesArray.push
和upload.addFiles()
方法,但我没有成功。有没有其他方法可以填充multiple file input
?
【问题讨论】:
【参考方案1】:我是这个库的作者。
您似乎发现了Blob
类型被您的PHP
服务器接受的问题。这可能是我以前从未遇到过的事情,因为我觉得我过去曾将 Blob
类型上传到我的 PHP
服务器 - 但也许我只是在想象事情,它们一直是 @987654326 @types,这就是为什么我从来没有遇到过任何问题。
无论如何,为了让您的情况同时正常工作,我制作了一个简单的 codepen 循环遍历 upload.cachedFileArray
数组并将每个 Blob
(或 File
)转换为 File
类型,并附加它到一个准备好上传的新临时数组。有关更多信息,请参阅 codepen 中的 cmets。
此时,您只需上传新的临时数组即可。将来我会着眼于确保所有presetFiles
都是File
类型而不是Blob
。
【讨论】:
以上是关于如何在多个文件输入中动态填充文件的主要内容,如果未能解决你的问题,请参考以下文章