如何在PHP表单中使用Filepond并使用post附加文件

时间:2019-09-25 14:13:59

标签: laravel file-upload filepond

我在Laravel框架中使用Filepond。

我需要发送与文章相关的文件。

HTML代码:

<form action="submit.php" enctype="multipart/form-data" method="POST">
      <input type="hidden" name="post_id" value="2" />
      <input type="file" class="filepond" name="filepond" data-max-files="1"/>
      <input type="submit" value="Upload" name="submit" class="btn btn-info" />
</form>

<script>
    // get a reference to the input element
    const inputElement = document.querySelector('input[type="file"]');

    // create a FilePond instance at the input element location
    const pond = FilePond.create( inputElement, {
        maxFiles: 1,
        allowBrowse: false,
        instantUpload: false,
    });
</script>

如何使用“提交表单”按钮下载文件并获取$_POST['post_id']

1 个答案:

答案 0 :(得分:0)

不幸的是,在大多数浏览器中这是不可能的,因为无法设置文件输入字段的值。

要解决此限制,您可以:

  • 异步上传文件(使用FilePond server.process属性)
  • 使用FilePond encode plugin将文件编码为base64数据
  • 使用DataTransfer对象设置文件输入值(目前仅适用于Chrome / Firefox)

有关DataTransfer解决方案的更多信息,请参见: https://pqina.nl/blog/the-trouble-with-editing-and-uploading-files-in-the-browser/