【发布时间】:2014-08-27 19:20:50
【问题描述】:
我无法通过 ajax 上传单个文件。这是我的代码。
JS 文件
var _submit = document.getElementById('fileInputBox');
var formData = new FormData();
formData.append('upload', 'upload');
formData.append('SelectedFile', _submit.files[0]);
$('#fileInputBox').on('change', function (e) {
e.preventDefault();
$.ajax({
url: 'upload2.php',
type: 'POST',
data: formData,
dataType: 'json' ,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (data) {
$('#sep_s').html(data.msg);
}
});
// return false;
});
HTML 文件
<form action="" method="post" enctype="multipart/form-data" name="UploadForm" id="UploadForm">
<div id="AddFileInputBox">
<input id="fileInputBox" style="margin-bottom: 5px;" type="file" name="file"/>
</div>
</form>
PHP 文件
if(isset($_POST['upload']))
{
$ImageName = $_FILES['file']['name'];
$ImageSize = $_FILES['file']['size'];
$TempSrc = $_FILES['file']['tmp_name'];
$ImageType = $_FILES['file']['type'];
..........
我得到的错误是
通知:未定义索引:G:\installed here\upload2.php 中的文件16
通知:未定义的索引:G:\installed here\upload2.php 中的文件 17
等等。
这里有什么问题?
【问题讨论】:
-
我看过每个帖子,所以不要告诉我它是重复的。
-
@Machavity 这个问题没有关于正确使用
FormData的方法。
标签: php jquery html ajax file-upload