gpt4 book ai didi

PHP Ajax 查询 - 将多个文件上传为 blob

转载 作者:行者123 更新时间:2023-11-29 15:37:38 24 4
gpt4 key购买 nike

我正在实现一个小练习,用户可以选择多个文件,并且这些文件作为 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处理它们。

最佳答案

您应该使用循环来获取多个文件数据,如下所示

foreach ($_FILES['files']['name'] as $name => $value) {
if(is_uploaded_file($_FILES['files']['tmp_name'][$name])) {
$sourcePath = $_FILES['files']['tmp_name'][$name];
$targetPath = "images/".$_FILES['files## Heading ##']['name'][$name];
if(move_uploaded_file($sourcePath,$targetPath)) {
}
}
}

谢谢

关于PHP Ajax 查询 - 将多个文件上传为 blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58074238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com