摘要:由四個(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
摘要:打印正在改變產(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ī)上...
摘要:打印正在改變產(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ì),并將二者...
摘要:如何根據(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位...
摘要:確認(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...
閱讀 2743·2021-10-26 09:50
閱讀 2385·2021-10-11 11:08
閱讀 2128·2019-08-30 15:53
閱讀 1906·2019-08-30 15:44
閱讀 2382·2019-08-28 18:12
閱讀 2519·2019-08-26 13:59
閱讀 2852·2019-08-26 12:19
閱讀 2751·2019-08-26 12:09