在Safari $ _FILES不起作用

时间:2017-10-04 07:58:18

标签: javascript php jquery safari

我需要将文件和其他数据传递给ajax。 我的代码:

var doc = new jsPDF('p', 'pt', 'a4'); // basic create pdf
var pdf = doc.output('blob');
var data = "";
if (flagSend == 1) {
  data = new FormData($("#sendInvoiceForm")[0]);
  data.append('flagSend', 1);
  var send_invoice_subject = $("#send_invoice_subject").val();
} else {
  data = new FormData();
  data.append('flagSend', 0);
}
data.append('data', pdf);
data.append('invoice_number', invoice_number);

 $.ajax({
         type: 'POST',
         data: data,
         processData: false,
         contentType: false,
         url: sJSUrlSavePdfInvoiceToServer,
         dataType: 'json',
         success: function (data) {

           }
         });

在我的数据'我传递了一个pdf文件,并使用$_FILES['data']在php中获取。 它适用于Chrome,Firefox。但在Safari中没有$_FILES['data'],有$_REQUEST['data'] - [object Blob] 所以我无法在Safari中上传文件:

if (move_uploaded_file($_FILES["data"]["tmp_name"], $target_file)) {
}

因为没有$_FILES['data']字段。

我该如何解决这个问题? 感谢。

有人知道原因吗?

0 个答案:

没有答案