国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

文件下載和打印

idealcn / 1548人閱讀

摘要:由四個(gè)部分組成前綴指示數(shù)據(jù)類型的類型如果非文本則為可選的標(biāo)記數(shù)據(jù)本身將數(shù)據(jù)轉(zhuǎn)換成格式的后通過標(biāo)簽導(dǎo)出將圖片下載成打印組件化后,需要通過插入樣式的方法保證樣式不會(huì)覆蓋

文件下載 一、調(diào)用后端接口下載

通過 window.open(url) 下載;

通過 window.location = url 下載

通過 iframe 下載

    const iframe = document.createElement("iframe");
    document.body.appendChild(iframe);
    iframe.src = url;
    iframe.style.display = "none";

通過點(diǎn)擊鏈接下載

function download(fileName, url) {

    if (!fileName) return;

    console.log(url);
    const link = document.createElement("a");
    const evt = document.createEvent("MouseEvents");

    link.href = url;
    link.setAttribute("download", fileName);

    evt.initEvent("click");

    link.dispatchEvent(evt);
}
二、前端直接下載到本地

將數(shù)據(jù)轉(zhuǎn)換成 Data URLs 后通過a標(biāo)簽導(dǎo)出(以)。

(Data URLs 由四個(gè)部分組成:前綴(data:)、指示數(shù)據(jù)類型的MIME類型、如果非文本則為可選的base64標(biāo)記、數(shù)據(jù)本身:)

    data:[][;base64],
    const data = resolveDate(this.data, this.headersMapping);
    download("test.csv", `data:"attachment/csv",ufeff${encodeURIComponent(data)}`);
    // data:"attachment/csv",?%E5%A7%93%E5%90%8D%2C%E5%B9%B4%E9%BE%84%2C%E7%94%B5%E8%AF%9D%0D%0A%E5%BC%A0%E4%B8%89%2C21%2C13122223839%0D%0A%E6%9D%8E%E5%9B%9B%2C13%2C13198739339%0D%0A%E7%8E%8B%E4%BA%94%2C23%2C13198340239%0D%0A%E6%9D%8E%E9%9B%B7%2C42%2C13198783839%0D%0A%E5%BC%A0%E6%A2%85%E6%A2%85%2C5%2C13198783839%0D%0A%E5%B0%8F%E6%98%8E%2C22%2C13139083839%0D%0A%E5%B0%8F%E7%BA%A2%2C13%2C13198783839%0D%0A%E5%B0%8F%E7%BB%BF%2C11%2C13198783839

將數(shù)據(jù)轉(zhuǎn)換成 blob 格式的 url 后通過 a 標(biāo)簽導(dǎo)出

    const data = resolveDate(this.data, this.headersMapping);
    const url = window.URL.createObjectURL(new window.Blob([`ufeff${data}`]));
    // blob:http://localhost:8081/9b0d2867-ada2-4db1-b090-d0e8d44e0ae0
    downloadFile("test.csv", url);

將 canvas 圖片下載成 png

    const imageData = this.canvas.toDataURL();
    // data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAYAAAA8AXHiAAANmklEQVR4Xu2dB6w9RRXGP4zBBhor9hoQCwh2I3axiwV7FzH2XgB7QQQbViwk2BWDDey9VxALVoxEgwr2QgKKGs2P/2zcXO67d3dnz5nZveckN+8ld+bMzLff3Z09bbZTSCBggMB2BjpDZSCgIFaQwASBIJ...QkTBIJYJrCG0iBWcMAEgSCWCayhNIgVHDBBIIhlAmsoDWIFB0wQCGKZwBpKg1jBARMEglgmsIbSIFZwwASBIJYJrKE0iBUcMEEgiGUCaygNYgUHTBAIYpnAGkqDWMEBEwSCWCawhtIgVnDABIEglgmsoTSIFRwwQSCIZQJrKA1iBQdMEAhimcAaSv8H1TBWtQk/HwUAAAAASUVORK5CYII=
    downloadFile("test.jpg", imageData);
    const imageData = this.canvas.toDataURL().replace("image/png","image/octet-stream");
    // data:image/octetstream;base64,JrKE0iBUcM...ygNYgUHTBnDABIEd3dnz5nZveckN+8ld+bMzLff3Z09bbZTSCBggMB2BjpDZSCgIFaQwASBIJ...QkTBIJYJrCG0iBWcMAEgSCWCayhNIgVHDBBIIhlAmsoDWIFB0wQCGKZwBpKg1jBARMEglgmsIbSIFZwwASBIJYJrKE0iBUcMEEgiGUCaygNYgUHTBAIYpnAGkqDWMEBEwSCWCawhtIgVnDABIEglgmsoTSIFRwwQSCIZQJrKA1iBQglgmsoTSIFRwwQSCIZQJmcAaSv8H1TBWtQk/HwUAAAAASUVORK5CYII=
    downloadFile("test2.png",  imageData);
打印
...
.print {
    page-break-after: always;
}
@page {
    margin: 0;
}

組件化后,需要通過插入 page 樣式的方法保證樣式不會(huì)覆蓋

    const el = document.createElement("style");
    el.type = "text/css";
    el.appendChild(document.createTextNode("@page { margin: 0mm; size: 80mm 160mm; }"));
    document.head.appendChild(el);

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/105655.html

相關(guān)文章

  • 云計(jì)算將怎樣助力3D打印應(yīng)用普及?

    摘要:打印正在改變產(chǎn)品設(shè)計(jì)測試和制造的方式,而基于云計(jì)算的軟件也正在幫助打印實(shí)現(xiàn)它的潛力。在云計(jì)算的幫助下,任何能連上互聯(lián)網(wǎng)的人可以創(chuàng)造調(diào)整存儲(chǔ)和流設(shè)計(jì),并將二者發(fā)送到世界上任何地方的打印機(jī)上。  3D打印正在改變產(chǎn)品設(shè)計(jì)、測試和制造的方式,而基于云計(jì)算的軟件也正在幫助3D打印實(shí)現(xiàn)它的潛力。在云計(jì)算的幫助下,任何能連上互聯(lián)網(wǎng)的人可以創(chuàng)造、調(diào)整存儲(chǔ)和流設(shè)計(jì),并將二者發(fā)送到世界上任何地方的3D打印機(jī)上...

    diabloneo 評論0 收藏0
  • 基于云計(jì)算的軟件實(shí)現(xiàn)3D打印的潛力

    摘要:打印正在改變產(chǎn)品設(shè)計(jì)測試和制造的方式,而基于云計(jì)算的軟件也正在幫助打印實(shí)現(xiàn)它的潛力。例如,一直在用基于云計(jì)算的軟件來為客戶定制化制造一款名為的產(chǎn)品。今年月,另外一家主要的打印公司宣布他們將追求一種新的基于云計(jì)算的軟件策略。  3D打印正在改變產(chǎn)品設(shè)計(jì)、測試和制造的方式,而基于云計(jì)算的軟件也正在幫助3D打印實(shí)現(xiàn)它的潛力。在云計(jì)算的幫助下,任何能連上互聯(lián)網(wǎng)的人可以創(chuàng)造、調(diào)整存儲(chǔ)和流設(shè)計(jì),并將二者...

    Tychio 評論0 收藏0
  • 如何通過ip連接主機(jī)-如何利用ip地址連接打印機(jī)?

    摘要:如何根據(jù)地址和子網(wǎng)掩碼算出可以連接的主機(jī)數(shù),是類地址,默認(rèn)子網(wǎng)掩碼為即。所以,位于子網(wǎng)由劃分出來的第一個(gè)子網(wǎng),子網(wǎng)號,主機(jī)地址范圍,定向廣播地址。如何根據(jù)IP地址和子網(wǎng)掩碼,算出可以連接的主機(jī)數(shù)?128<172<191,172.16.1.12是B類地址,默認(rèn)子網(wǎng)掩碼為/16 (即255.255.0.0)。將原來的B類網(wǎng)絡(luò)號進(jìn)行子網(wǎng)劃分后,子網(wǎng)掩碼變?yōu)?20,即網(wǎng)絡(luò)位(16位)向主機(jī)位(16位...

    keithyau 評論0 收藏0
  • 關(guān)于python的logging庫的總結(jié)

    摘要:確認(rèn)一切按預(yù)期運(yùn)行。表明發(fā)生了一些意外,或者不久的將來會(huì)發(fā)生問題如磁盤滿了。由于更嚴(yán)重的問題,軟件已不能執(zhí)行一些功能了。嚴(yán)重錯(cuò)誤,表明軟件已不能繼續(xù)運(yùn)行了。對于不能獲取的名稱,則記錄到模塊。 最近在寫一些python腳本,總是使用print來打印信息感覺很low,所以抽空研究了一下python的logging庫,來優(yōu)雅的來打印和記錄日志: 一、簡單的將日志打印到屏幕: import l...

    kaka 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<