gpt4 book ai didi

javascript - 通过 AJAX 和 PHP 通过输入 HTML 获取和读取文件

转载 作者:行者123 更新时间:2023-11-28 05:37:01 27 4
gpt4 key购买 nike

我正在尝试使用 PHP 通过 ajax 从 HTML 输入接收输入文件...这是 HTML:

<form id="file-form-real" method="POST" enctype="multipart/form-data"><input  type="file" class="inputfile" id="carga-excelreal" name="carga-excelreal" accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"><label for="carga-excelreal"><img src="img/MSExcel_2013_logo.svg"><span>Carga Archivo Costo Real</span></label><button type="submit" class="u-button" id="ubutton-real" onclick="uploadManager.sendReal();">Actualizar BD</button></form>

这是 Javascript 文件 uploadManager.js:

var uploadManager = {
sendReal: function(){
var form = document.getElementById("carga-excelreal");
var nameOr = form.value;
var splited = nameOr.split("\\");
var largo = splited.length;
var name = splited[largo-1];
var file = form.files;
var formData = new FormData();
formData.append('file', file);
formData.append('name', name);

var ajaxRequest= $.ajax({
url:"controllers/admin/UploadCostoReal.php",
data: formData,
type:"POST",
contentType:false,
processData:false,
cache:false,
success:function(response){
console.log(response);
}
});
}
}

这是 PHP:

<?php
$name = $_POST['name'];
$file = $_FILES['file'];

if(move_uploaded_file($file,"../../docs/costo_real/".$name)){
$msg = "Uploaded Ok";
echo json_encode($msg, JSON_UNESCAPED_UNICODE);
}else{
$msg = "There was an error";
echo json_encode($msg, JSON_UNESCAPED_UNICODE);
}
?>

当使用 print_r($_POST) 和 print_r($_FILES) 打印时,输出如下:

Array
(
)
Array
(
[file] => [object FileList]
[name] => 1557 - Planilla Gestion de Compras 16.ago.2016.xls
)

我有以下问题:

-如何读取[object FileList],获取文件并将其保存到特定文件夹。

-(我已经看到[文件]是空的,....为什么??,应该有该文件)。

-一般过程没问题,或者我必须处理表单标记中的操作属性???

如果有人知道如何放置加载 gif,它可能会非常有帮助(最后一件事并不重要,因为我问的主要事情)

感谢您的回答。

最佳答案

在你的js中var file = form.files;可能需要是:

var file = form.files[0];var file = form.files.shift();

我相信 form.files 将是一个数组。

关于javascript - 通过 AJAX 和 PHP 通过输入 HTML 获取和读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39281364/

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