提问人:oldschoolnva 提问时间:8/14/2020 更新时间:8/14/2020 访问量:204
使用 PHP 服务器脚本拖放文件上传时出现问题
Problem with Drag and Drop file upload using PHP server script
问:
我正在尝试使用服务器上的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')
我错过了什么?
答: 暂无答案
评论
formData.append('file', file, 'fileToUpload_name_here');
是用不得到的.你仍然需要。php.net/manual/en/features.file-upload.post-method.php$_FILES['file']
$_FILES['fileToUpload']
move_uploaded_file