下载Vue的PDF文件

4
当我在PostMan上调用此函数时,它会下载PDF,但当我从页面上调用它时,它不会下载,但请求已经到达。我希望它能够下载。
,generateFarmerPDF:function (id) {
            this.farmerId = id
          var data = new FormData()
          data.append('function','generateFarmerPDF')
            data.append('farmerId',this.farmerId )
          axios.post(this.url,data)
              .then( function (response ) {
          }.bind(this)).catch(function (error) {

          })

        }

这里是API代码

if ($function == "generateFarmerPDF") {
    $farmerId = $_POST['farmerId'];

    $result = DB::instance()->executeSQL("SELECT * FROM `milk_production`  WHERE `farmerId` ='$farmerId'");
    $header = DB::instance()->executeSQL("SELECT `COLUMN_NAME` 
FROM `INFORMATION_SCHEMA`.`COLUMNS` 
WHERE `TABLE_SCHEMA`='blog_samples' 
AND `TABLE_NAME`='milk_production'");


    $pdf = new FPDF();
    $pdf->AddPage();
    $pdf->SetFont('Arial', 'B', 5);
    foreach ($header as $heading) {
        foreach ($heading as $column_heading)
            $pdf->Cell(20, 6, $column_heading, 1);
    }
    foreach ($result as $row) {
        $pdf->SetFont('Arial', '', 5);
        $pdf->Ln();
        foreach ($row as $column)
            $pdf->Cell(20, 6, $column, 1);
    }
    $pdf->Output();
}

这就是我所称呼它的方式。

<button v-on:click="generateFarmerPDF(milkvolume.farmerId)">Report</button></td>

您没有处理响应信息。 - samayo
我不知道该如何保存它。 - Laureen Toroitich
首先在控制台中打印响应。 - samayo
顺便提一下,您的应用程序容易受到SQL注入攻击。恶意用户可以向您发送一个错误的$farmerId,从而损坏您的数据库或窃取信息。请查阅如何在PHP中使用SQL参数。 - akatakritos
1
通常我会将PDF生成作为GET请求。然后只需使用window.location将用户发送到该URL即可。我不确定如何使用axios下载二进制文件。 - akatakritos
2个回答

8
例如,您可以使用它:

axios('/urltopdfgeneration', {
    method: 'GET',
    responseType: 'blob'
})
.then(response => {
    //Create a Blob from the PDF Stream
    const file = new Blob(
    [response.data], 
    {type: 'application/pdf'});
    //Build a URL from the file
    const fileURL = URL.createObjectURL(file);
    //Open the URL on new Window
    window.open(fileURL);
})
.catch(error => {
    console.log(error);
});

也许是弹出窗口拦截器捕获了它,因为使用window.open下载pdf的方式在这种情况下可以很好地使用axios。

是的,我已经尝试过了。Firefox(v 79.0)默认会用黄色警告栏阻止此操作,而Chrome(v 84.0)则会在新标签页中打开该 Blob。 - M. Ko

0

假设您正在接收以base64字符串形式(或任何可解析或转换为base64字符串的格式)作为基础的.pdf文件,例如:

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Rm9udC9SR1hPQ0YrQ01SMTAvRm9udERlc2NyaXB0b3IKMjMgMCBSPj4KZW5kb2JqCjIzIDAgb2JqCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvQ2FwSGVpZ2h0IDY4My9Bc2NlbnQgNjk0L0Rlc2NlbnQgLTE5NC9JdGFsaWNBbmdsZSAwL1N0ZW1WCjY5L0ZsYWdzIDYvRm9udEJCb3hbLTQwIC0yNTAgMTAwOSA3NTBdL0ZvbnRGaWxlMyAxNSAwIFIvRm9udE5hbWUvUkdYT0NGK0NNUjEwPj4KZW5kb2JqCjYgMCBvYmoKPDwvVHlwZS9Gb250L1N1YnR5cGUvVHlwZTEvV2lkdGhzIDE2IDAgUi9GaXJzdENoYXIgMC9MYXN0Q2hhciAxMDYvQmFzZUZvbnQvWFdYVURBK0NNU1kxMC9Gb250RGVzY3JpcHRvcgoyNCAwIFI+PgplbmRvYmoKMjQgMCBvYmoKPDwvVHlwZS9Gb250RGVzY3JpcHRvci9DYXBIZWlnaHQgNjgzL0FzY2VudCAwL0Rlc2NlbnQgMC9JdGFsaWNBbmdsZSAtMTQuMDQvU3RlbVYKNDAvRmxhZ3MgNzAvRm9udEJCb3hbLTI5IC05NjAgMTExNiA3NzVdL0ZvbnRGaWxlMyAxNyAwIFIvRm9udE5hbWUvWFdYVURBK0NNU1kxMD4+CmVuZG9iago3IDAgb2JqCjw8L1R5cGUvRm9udC9TdWJ0eXBlL1R5cGUxL1dpZHRocyAxOCAwIFIvRmlyc3RDaGFyIDYwL0xhc3RDaGFyIDEyMC9CYXNlRm9udC9FSFFQS1IrQ01NSTEwL0ZvbnREZXNjcmlwdG9yCjI1IDAgUj4+CmVuZG9iagoyNSAwIG9iago8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0NhcEhlaWdodCA2ODMvQXNjZW50IDY5NC9EZXNjZW50IC0xOTQvSXRhbGljQW5nbGUgLTE0LjA0L1N0ZW1WCjcyL0ZsYWdzIDcwL0ZvbnRCQm94Wy0zMiAtMjUwIDEwNDggNzUwXS9Gb250RmlsZTMgMTkgMCBSL0ZvbnROYW1lL0VIUVBLUitDTU1JMTA+PgplbmRvYmoKOCAwIG9iago8PC9UeXBlL0ZvbnQvU3VidHlwZS9UeXBlMS9XaWR0aHMgMjAgMCBSL0ZpcnN0Q2hhciA0OS9MYXN0Q2hhciA1Ny9CYXNlRm9udC9FRk9CSUUrQ01SOC9Gb250RGVzY3JpcHRvcgoyNiAwIFI+PgplbmRvYmoKMjYgMCBvYmoKPDwvVHlwZS9Gb250RGVzY3JpcHRvci9DYXBIZWlnaHQgNjgzL0FzY2VudCA2OTQvRGVzY2VudCAtMTk0L0l0YWxpY0FuZ2xlIDAvU3RlbVYKNzYvRmxhZ3MgNi9Gb250QkJveFstMzYgLTI1MCAxMDcwIDc1MF0vRm9udEZpbGUzIDIxIDAgUi9Gb250TmFtZS9FRk9CSUUrQ01SOD4+CmVuZG9iagp4cmVmCjAgMjcKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAxNTIwIDAwMDAwIG4gCjAwMDAwMDEzNjggMDAwMDAgbiAKMDAwMDAwMTIxMSAwMDAwMCBuIAowMDAwMDEzMTA4IDAwMDAwIG4gCjAwMDAwMTM0MjEgMDAwMDAgbiAKMDAwMDAxMzcyNiAwMDAwMCBuIAowMDAwMDE0MDMzIDAwMDAwIG4gCjAwMDAwMTQzNDYgMDAwMDAgbiAKMDAwMDAwMDAxNSAwMDAwMCBuIAowMDAwMDAxMDk2IDAwMDAwIG4gCjAwMDAwMDEyODggMDAwMDAgbiAKMDAwMDAwMTU2NiAwMDAwMCBuIAowMDAwMDAxODQxIDAwMDAwIG4gCjAwMDAwMDQ3MjcgMDAwMDAgbiAKMDAwMDAwNTA2MSAwMDAwMCBuIAowMDAwMDEwMDEwIDAwMDAwIG4gCjAwMDAwMTAyNTAgMDAwMDAgbiAKMDAwMDAxMDg1NSAwMDAwMCBuIAowMDAwMDExMDA1IDAwMDAwIG4gCjAwMDAwMTIwNTYgMDAwMDAgbiAKMDAwMDAxMjEwMiAwMDAwMCBuIAowMDAwMDEzMjM3IDAwMDAwIG4gCjAwMDAwMTM1NDkgMDAwMDAgbiAKMDAwMDAxMzg1NCAwMDAwMCBuIAowMDAwMDE0MTYyIDAwMDAwIG4gCjAwMDAwMTQ0NzIgMDAwMDAgbiAKdHJhaWxlcgo8PC9Sb290IDEgMCBSL0luZm8gMiAwIFIvU2l6ZSAyNz4+CnN0YXJ0eHJlZgoxNDY0OAolJUVPRgo=

你只需在Vue实例上声明这些方法:

methods: {
  . . .
  base64ToArrayBuffer: function(base64) {
    var binaryString = window.atob(base64);
    var binaryLen = binaryString.length;
    var bytes = new Uint8Array(binaryLen);
    for (var i = 0; i < binaryLen; i++) {
      var ascii = binaryString.charCodeAt(i);
      bytes[i] = ascii;
    }
    return bytes;
  },
  saveByteArray: function(data, name) {
    var a = document.createElement("a");
    document.body.appendChild(a);
    a.style = "display: none";
    var blob = new Blob(data, { type: "application/pdf" }),
      url = window.URL.createObjectURL(blob);
    a.href = url;
    a.download = name;
    a.click();
    window.URL.revokeObjectURL(url);
  }
}

然后从您的方法中调用它们:

    generateFarmerPDF:function (id) {
        this.farmerId = id
      var data = new FormData()
      data.append('function','generateFarmerPDF')
        data.append('farmerId',this.farmerId )
      axios.post(this.url,data)
          .then( function (response ) {

        let base64 = "you base64 String here";
        //or let base64 = response.data.myPdfInBase64;

        let byteCharacters = this.base64ToArrayBuffer(base64);
        this.saveByteArray([byteCharacters], selectedItem.pdfDap.nome);

      }.bind(this)).catch(function (error) {

      })

    }

如果您需要更多细节或想要检查一个普通的JavaScript示例,请查看this答案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接