使用 PHP 服务器脚本拖放文件上传时出现问题

Problem with Drag and Drop file upload using PHP server script

提问人:oldschoolnva 提问时间:8/14/2020 更新时间:8/14/2020 访问量:204

问:

我正在尝试使用服务器上的PHP脚本作为上传处理程序上传文件。它适用于传统的 Web 表单,如下所示:

<form action="uploadHandler.php" method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
</form>

但是当我尝试切换到拖放表单时,PHP 处理程序失败,名称值“fileToUpload”上有一个未定义的索引。这是错误消息:

PHP Notice: Undefined index: fileToUpload in /home/...../uploadHandler.php on line 10

uploadHandler.php 的第 10 行包含以下语句:$fileName = $_FILES['fileToUpload']['name'];

我仍然在我的拖放表单中使用name=fileToUpload:

<form class="my-form">
    <p>Upload multiple files with the file dialog or by dragging and dropping images onto the dashed region</p>
    <input type="file" id="fileToUpload" name="fileToUpload" onchange="handleFiles(this.files)">
    <label class="button" for="fileElem">Select some files</label>
  </form>

这是页面上包含调用 uploadHandler 的拖放表单的函数:

function uploadFile(file, i) {
  var url = 'https://xxxxxx/uploadHandler.php'
  var xhr = new XMLHttpRequest()
  var formData = new FormData()
  xhr.open('POST', url, true)
  xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest')
  
  formData.append('file', file)
  xhr.send(formData)
}

我尝试在调用 xhr.send 之前添加一些东西,但这似乎没有帮助。formData.append('name', 'fileToUpload')

我错过了什么?

javascript php 文件上传 拖放 undefined-index

评论

0赞 StackSlave 8/14/2020
formData.append('file', file, 'fileToUpload_name_here');是用不得到的.你仍然需要。php.net/manual/en/features.file-upload.post-method.php$_FILES['file']$_FILES['fileToUpload']move_uploaded_file

答: 暂无答案