【发布时间】:2019-09-24 06:27:03
【问题描述】:
我正在实施一个小练习,用户可以选择多个文件,这些文件通过数据库作为 BLOBS 上传。但是,我对 FormData 插件不是很熟悉,这给我带来了一些困难。看起来 FormData 未获取正确选择的文件。
错误:通知:未定义索引:C:\xampp\htdocs\Excercise\file 中的文件-report-attachments.php 第 19 行
我已经研究过类似的主题,但没有运气。
<input class="fileInput" type="file" id="attachments" name="files[]" multiple>
var fileData = new FormData();
$.each($("input[type='file']")[0].files, function(i, file) {
fileData.append('file', file);
});
$.ajax({
type: 'POST',
url: 'file-report-attachments.php',
data: fileData,
contentType:false,
cache: false,
processData: false,
success: function(response) {
console.log(response);
},error: function (error) {
console.log(error);
}
});
<?php
session_start();
include("conn.php");
$response = [];
$response['dberror'] = false;
$response['inputerror'] = false;
$response['inserted'] = false;
$upload_dir = 'uploads'.DIRECTORY_SEPARATOR;
$allowed_types = array('jpg', 'png', 'jpeg', 'gif', 'webm','mpg','mp2','mpeg','mp3','mp4','mpe','mpv','ogg','m4p','m4v','avi','wmv','mov','flv','ppm', 'pgm', 'pbm');
// Define maxsize for files i.e 40MB
$maxsize = 40 * 1024 * 1024;
$file_names = $_FILES["files"]["name"];
echo $file_names;
?>
我需要通过ajax和formdata(可以是多个)获取选中的文件,并通过php处理。
【问题讨论】:
-
您在使用时上传
file数据。$_FILES['files']从您的后端获取价值 -
在
ajax代码mimeType:"multipart/form-data",中再添加一行代码
标签: php jquery html mysql ajax