我一直在寻找我能在这里找到的所有答案,但似乎没有一个对我有用,不知道为什么。
我正在尝试使用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的回复:
“
注意:未定义的索引: C:\ xampp \ htdocs \ airpost \ home \ subegraphic.php 4 上的archivo1
注意:未定义索引: C:\ xampp \ htdocs \ airpost \ home \ subegraphic.php 5 上的archivo1
注意:未定义索引: C:\ xampp \ htdocs \ airpost \ home \ subegraphic.php 中 6 的文件中的archivo1
注意:未定义的索引: C:\ xampp \ htdocs \ airpost \ home \ subegraphic.php 中 7 的文件中的archivo1
注意:未定义的索引: C:\ xampp \ htdocs \ airpost \ home \ subegraphic.php 中的 8 <“>中的archivo1
如果有人能说出我的代码会出现什么问题。 Thx提前。
PS:php.ini
中的上传文件为ON答案 0 :(得分:1)
在您发布的代码段中,您的jQuery选择器指向undefined
元素
更改
formData.append("archivo1", $("#formuploadgraphic")[0]);
到
formData.append("archivo1", $("#archivo1").prop('files')[0]);
答案 1 :(得分:-1)
您是否尝试过更改此行
var formData = new FormData();
formData.append("archivo1", $("#formuploadgraphic")[0]);
到
var formData = new FormData($("#formuploadgraphic")[0]);
并将 enctype =&#34; multipart / form-data&#34; 添加到您的表单属性
<form name='formuploadgraphic' enctype="multipart/form-data">