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

时间:2019-10-31 08:40:02

标签: html forms upload

我正在尝试基于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--

我看不到文件的内容,我想好像它没有发送文件,我想念什么?

3 个答案:

答案 0 :(得分:2)

您缺少名称属性

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

答案 1 :(得分:1)

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

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

例如:

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

在服务器端:

$fileData = $_FILES['fileUploaded'];

答案 2 :(得分:1)

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