使用ajax发送从table2excel.js生成的文件以将其保存在服务器上

时间:2018-04-11 07:01:18

标签: javascript php ajax

我有一个HTML表,我通过Table2Excel.js插件从中生成.xls文件。我试图将此文件发布到服务器,以便我可以使用PHP将其保存在服务器上。我试图以blob格式发送文件,但我的$ _POST返回空。 下面是我的ajax代码:

  var blob = new Blob([e.format(fullTemplate, e.ctx)], { type: "application/vnd.ms-excel" });
            var dob = "okay lets check";
            window.URL = window.URL || window.webkitURL;
            link = window.URL.createObjectURL(blob);
            a = document.createElement("a");
            a.download = getFileName(e.settings);
            a.href = link;
            document.getElementById("getPDF").value = link;
            document.body.appendChild(a);

            a.click();

            document.body.removeChild(a);
            var formdata = new FormData();
            formdata.append('excelFile', blob);
            $.ajax({
              url:'savetoserver.php',
              type:'post',
              data:formdata,
              processData: false,
              contentType: false,
            }).done(function (data){
              alert(data);
            }).fail(function (xhr, status, err) {
              alert(err);
            });

和php代码基本上是atm

<?php print_r($_POST); ?>

1 个答案:

答案 0 :(得分:0)

您需要使用$_FILES才能在PHP中接收文件。这是一个PHP脚本示例。

if (0 < $_FILES['excelFile']['error'])
    echo 'Error: ' . $_FILES['excelFile']['error'];
else
    move_uploaded_file ($_FILES['excelFile']['tmp_name'], $_FILES['excelFile']['name']);