gpt4 book ai didi

javascript - 使用ajax上传文件

转载 作者:行者123 更新时间:2023-11-28 04:43:35 24 4
gpt4 key购买 nike

我一直在寻找我能在这里找到的所有答案,但似乎没有一个对我有用,不知道为什么。

我正在尝试使用ajax上传文件,但该文件永远不会到达PHP中的$_FILES数组,我只将其发送到$_POST数组,但它不会让我获得文件的名称或大小文件。我已经尝试了这里回答的每一个解决方案,但似乎没有一个解决方案可以解决我的问题,我不确定为什么,我认为有些东西我没有看到。如果有人能帮助我那就太好了。

HTML 代码

<form name='formuploadgraphic'>
<input type='file' name='archivo1' id='archivo1' onchange='subegraphic()'>
</form>

JS/AJAX 代码

function subegraphic()
{
var formData = new FormData();
formData.append("archivo1", $("#formuploadgraphic")[0]);

$.ajax({
url: "subegraphic.php",
type: "post",
data: formData,
cache: false,
contentType: false,
processData: false,
async: true
})
.done(
function(data)
{
alert(data);
}
);
}

PHP 代码

<?php
$upload_folder ='graphics';
$nombre_archivo = $_FILES['archivo1']['name'];
$tipo_archivo = $_FILES['archivo1']['type'];
$tamano_archivo = $_FILES['archivo1']['size'];
$tmp_archivo = $_FILES['archivo1']['tmp_name'];
$extension = pathinfo($_FILES['archivo1']['name'], PATHINFO_EXTENSION);
$archivador = $upload_folder . '/' . $nombre_archivo;
echo $nombre_archivo;
?>

如果我使用该代码,这是来自 php 的回复:


通知:未定义索引:archivo1,位于C:\xampp\htdocs\airpost\home\subegraphic.php4

通知:未定义索引:archivo1,位于C:\xampp\htdocs\airpost\home\subegraphic.php5

通知:未定义索引:archivo1,位于C:\xampp\htdocs\airpost\home\subegraphic.php6

通知:未定义索引:archivo1,位于C:\xampp\htdocs\airpost\home\subegraphic.php7

通知:未定义索引:archivo1,位于C:\xampp\htdocs\airpost\home\subegraphic.php,第8
行”

如果有人能说出我的代码有什么问题,那就太好了。提前谢谢。

PS:上传文件在 php.ini 中处于开启状态

最佳答案

从您发布的代码片段中,您的 jQuery 选择器指向一个未定义元素

改变

formData.append("archivo1", $("#formuploadgraphic")[0]);

formData.append("archivo1", $("#archivo1").prop('files')[0]);

关于javascript - 使用ajax上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43578176/

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