我需要将文件和其他数据传递给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']
字段。
我该如何解决这个问题? 感谢。
有人知道原因吗?