18910140161

JavaScript-$_个文件['file']使用filepond时变为NULL-堆栈溢出

顺晟科技

2022-10-18 12:19:57

206

这是一个普通的输入文件,格式为HTML,方法为POST

<代码><;输入类型=";文件";名称=";文件";接受=";图像/PNG,图像/JPEG";>;

然后,我将使用PHP

编写的函数获取该文件的输入。
<input type="file" name="file" accept="image/png, image/jpeg">

是啊,这就是成功。文件移动到文件夹“上传”。

但我想尝试使用FilePond来设置表单输入的样式。

<代码><;输入类=";FilePond";类型=";文件";名称=";文件";接受=";图像/PNG,图像/JPEG";>;

有了这个JS

function Upload() {
    $namefile = $_FILES['file']['name'];
    $error = $_FILES['file']['error'];
    $tmpName = $_FILES['file']['tmp_name'];
    move_uploaded_file($tmpName, 'upload/'.$namefile);
    return $namafile;
}

但是,当我尝试使用与前面相同的方法获取文件时,<input class="filepond" type="file" name="file" accept="image/png, image/jpeg"> 将变为null.


顺晟科技:

FilePond可能会创建一个具有不同名称的代理元素,

而不是对输入进行样式设置。

尝试使用const inputElement = document.querySelector(".filepond"); FilePond.registerPlugin( FilePondPluginFileValidateType, FilePondPluginFileValidateSize ) FilePond.create(inputElement, { labelIdle: 'Upload Photo<span class="filepond--label-action">Browse</span>', maxFiles: '1', maxFileSize: '5MB', labelMaxFileSizeExceeded: 'Too big bro.', labelMaxFileSize: 'max {filesize}', labelFileTypeNotAllowed: 'Meh dont up that type', fileValidateTypeLabelExpectedTypes: 'just {allTypes}' }) 并查看它是否已被命名为其他名称。

由于浏览器无法更新文件输入字段值,因此文件存储在单独的字段中。

这意味着您必须将文件编码为Base64字符串,然后使用表单提交将其上传(然后在服务器上解码)。

或者,您必须通过将filePond$_FILES['file']属性设置为服务器上处理上载的页面来异步上载文件。

第三

种方法是将var_dump($_FILES)属性设置为server,FilePond现在将更新文件输入字段,但这仅适用于浏览器支持DataTransfer构造函数

的情况
  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航