使用 <form> 上传文件不会发送文件

uploading file with <form> doesn't sends the file

我正在尝试根据 this answer:

上传文件
<form enctype="multipart/form-data" action="http://localhost:61113/api/file/upload" method="post">
   <div>
          <input type="text" placeholder="No file selected" id="txtPath" />
          <div id="div-btn">
             Choose File
             <input type="file" class="hide_file" id="browse-btn">
           </div>
    </div>
    <button id="btnScan" type="submit">Scan</button>
</form>

但在服务器端我只得到请求的内容:

------WebKitFormBoundaryYhhj0sW5ARh7d9ZO--

而且我看不到文件的内容,我发现它似乎没有发送文件,我错过了什么?

您缺少名称属性

<input type="file" class="hide_file" id="browse-btn" name="file">

您还需要为输入文件插入属性 name

比通过$_FILES获取文件数据; name 属性的值将是 $_FILES 数组中的一个键。

例如:

<input type="file" class="hide_file" id="browse-btn" name='fileUploaded'>

在服务器端:

$fileData = $_FILES['fileUploaded'];

首先你在使用AJAX吗?如果是这样,则不需要 name 属性。您可以获得具有 id 属性的文件,但如果没有,则必须使用 name 属性。