繁体   English   中英

鉴于以下代码,为什么我的 $_FILES 为空?

[英]Why is my $_FILES empty given the following code?

在我的前端 PHP 页面中,我有一个简单的上传文件输入 object:

<input type="file" v-on:change="fileAdded">

我的文件在我的 JS 文件中添加了 function 只需获取事件 object (e) 并获取文件以获得有关文件本身的其他信息:

if (e.target.files !== undefined) {
    v.data_file = e.target.files[0]
}

然后,我将数据文件和请求代码放入后端的 fetch 语句中:

fetch("pages/gp/gpBackend.php", {
    method: "POST",
    body: v.form_data_obj
})

在我的后端 php 页面中,我使用 $_FILES 数组来获取文件名和扩展名等信息,然后传递给我拥有的 python 脚本,该脚本将解压缩文件本身中的数据。

在我的网页操作的这个阶段,一切正常,我将响应发送回我的前端,相应地处理数据并继续前进。

我的前端的 rest 要求用户在使用不同的请求代码向我的后端提交第二个帖子之前输入某些数据。

在那种情况下,我以与文件上传 POST 相同的方式将包含所有需要的数据的另一个 FormObject 发送到我的后端。 但是这次我的 $_FILES 现在是空的,我无法访问我之前上传的文件的文件名或扩展名。

我似乎无法找出为什么会这样? 我在另一个前端/后端 php 页面上有一个几乎相同的设置,我在同一个站点上通过两个 POSTS 维护 $_FILES 中的文件以供使用,但经常需要它。 但是对于这个页面,当我第二次向后端 POST 另一个请求时,我无法分辨出区别, $_FILES 是空的。

我可以提供回答此问题所需的任何其他详细信息,因此请告诉我。 我确实知道这不是文件大小问题,因为我不仅为管理员(我)设置了文件大小限制配置了.ini,而且我目前在开发过程中用作示例的文件明显小于最大值我的 web 服务器上的文件大小。

感谢您提供的任何帮助!

PHP $_FILE 必须以这种方式使用 with enctype。

<form action="upload.php" method="post" enctype="multipart/form-data">

希望这个帮助: https://www.w3schools.com/php/php_file_upload.asp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM