整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          HTML5實現(xiàn)大文件上傳下載

          TML5實現(xiàn)大文件上傳下載,JQUERY大文件上傳(切片),HTML實現(xiàn)文件夾的上傳和下載,前端如何用HTML5實現(xiàn)分片上傳GB級大文件,網(wǎng)頁中實現(xiàn)文件上傳下載的三種解決方案(推薦),HTML5實現(xiàn)文件批量上傳組件,JQUERY 實現(xiàn)文件夾上傳(保留目錄結(jié)構(gòu)),B/S大文件上傳支持?jǐn)帱c上傳,WebService 大文件上傳,斷點續(xù)傳分片,HTML+AJAX實現(xiàn)上傳大文件問題,用HTML實現(xiàn)本地文件的上傳,HTML5實現(xiàn)大文件上傳,HTML5實現(xiàn)大文件分片上傳思路,利用HTML5分片上傳超大文件思路,

          WEBUPLOADER 支持 超大上G,多附件上傳,JS 大文件分割/分片上傳,

          百度WEBUPLOADER上傳視頻等大文件,WEBUPLOAD組件實現(xiàn)文件上傳功能和下載功能,JS大文件切片上傳,斷點續(xù)傳實現(xiàn)DEMO,前端上傳大文件的解決方案,前端上傳大文件處理(切片、斷點續(xù)傳),前端大文件上傳優(yōu)化方案——分片上傳,vue大文件上傳解決方案,vue大文件上傳解決方案10G,vue大文件上傳解決方案50G,vue大文件上傳解決方案100G,html5如何實現(xiàn)大文件斷點續(xù)傳、秒傳,

          java如何實現(xiàn)大文件斷點續(xù)傳、秒傳,SpringBoot如何實現(xiàn)大文件斷點續(xù)傳、秒傳,SpringMVC如何實現(xiàn)大文件斷點續(xù)傳、秒傳,SpringCloud如何實現(xiàn)大文件斷點續(xù)傳、秒傳,

          webuploader如何實現(xiàn)大文件斷點續(xù)傳、秒傳,百度webuploader如何實現(xiàn)大文件斷點續(xù)傳、秒傳,html5實現(xiàn)大文件斷點續(xù)傳、秒傳,vue如何實現(xiàn)大文件斷點續(xù)傳、秒傳,前端如何實現(xiàn)大文件斷點續(xù)傳、秒傳,JavaScript如何實現(xiàn)大文件斷點續(xù)傳、秒傳,

          html5大文件斷點續(xù)傳、秒傳解決方案,html5大文件斷點續(xù)傳、加密上傳解決方案,html5大文件斷點續(xù)傳、加密存儲解決方案,html5大文件斷點續(xù)傳分片解決方案,html5大文件斷點續(xù)傳分塊解決方案,html5大文件斷點續(xù)傳分割解決方案,html5大文件斷點續(xù)傳切割解決方案,

          項目是一個新項目,開發(fā)部門在技術(shù)選型方面采用的是后端用的SpringBoot,前端用的VUE2,數(shù)據(jù)庫用的MySQL,主要是考慮兼容和遷移,客戶那邊確認(rèn)過,明年開始將遷移到信創(chuàng)國產(chǎn)化平臺中,

          后端我們公司項目組選的是JAVA,因為公司有自己的產(chǎn)品,所以直接使用就行了,針對客戶需求這塊是進(jìn)行擴展。

          客戶這邊實際上要傳的文件單個大小就有50G左右,所以需要支持?jǐn)帱c續(xù)傳和分片上傳,并且要支持多線程上傳,能夠充分利用帶寬資源。

          之前在網(wǎng)上找過相關(guān)的資料,論壇里面也有網(wǎng)友交流過,還加過很多QQ群和微信群,但是結(jié)果都不太令人滿意。

          技術(shù)選型的話用的是jquery,也是一個企業(yè)內(nèi)網(wǎng)系統(tǒng),用的是之前公司的框架,只是進(jìn)行功能擴展

          分片網(wǎng)上討論的很多,基本上全部都是用的HTML5的API,這個方案也不是不能用,但是在IE下面就不行了,兼容性差了點,并且也不能進(jìn)行擴展,不能進(jìn)行二次開發(fā),限制性非常大,我們技術(shù)同事提的要求是需要提供產(chǎn)品完整源代碼,

          網(wǎng)上的文章全部都沒有提供文件夾上傳和續(xù)傳的代碼,也沒有提供數(shù)據(jù)庫操作的代碼,

          另外這塊我們是要求必須提供產(chǎn)品完整源代碼,因為后面我們需要自已來維護(hù),同時是要求能夠自主可控的

          研發(fā)部門的同事調(diào)研過百度的webuploader這個組件,發(fā)現(xiàn)他實際上就是對Flash和HTML5進(jìn)行了一個封裝,本質(zhì)還是調(diào)的HTML5的API,之前在項目中也用過,嘗試過,但是最終都不太滿意,一個是兼容性非常差,說的是兼容IE,但是在IE用的是Flash,在很多用戶的電腦上用不了,卡頓崩潰發(fā)生的太頻繁,文件上傳的數(shù)量一多比如幾千個,前端頁面就開始卡了,用戶體驗非常差。這些問題研發(fā)部的同事都向百度反應(yīng)過,但是百度webuploader那邊一直沒人回,基本上沒人管,領(lǐng)導(dǎo)說要求付費提供技術(shù)支持,那邊也是沒人回,聯(lián)系不上他們?nèi)魏稳恕?/p>

          webuploader這邊連個開發(fā)人員都聯(lián)系不到,這個是怎么回事?

          用戶上傳的文件比較大,有20G左右,直接用HTML傳的話容易失敗,服務(wù)器也容易出錯,需要分片,分塊,分割上傳。也就是將一個大的文件分成若干個小文件塊來上傳,另外就是需要實現(xiàn)秒傳功能和防重復(fù)功能,秒傳就是用戶如果上傳過這個文件,那么直接在數(shù)據(jù)庫中查找記錄就行了,不用再上傳一次,節(jié)省時間,實現(xiàn)的思路是對文件做MD5計算,將MD5值保存到數(shù)據(jù)庫,算法可以用MD5,或者CRC,或者SHA1,這個隨便哪個算法都行。

          切片的話還有一點就是在服務(wù)器上合并,一個文件的所有分片數(shù)據(jù)上傳完后需要在服務(wù)器端進(jìn)行合并操作。

          視頻教程:https://www.ixigua.com/7226245960341389859

          1.下載示例

          https://gitee.com/xproer/up6-vue-cli



          將up6組件復(fù)制到項目中

          示例中已經(jīng)包含此目錄



          1.引入up6組件



          2.配置接口地址

          接口地址分別對應(yīng):文件初始化,文件數(shù)據(jù)上傳,文件進(jìn)度,文件上傳完畢,文件刪除,文件夾初始化,文件夾刪除,文件列表

          參考:http://www.ncmem.com/doc/view.aspx?id=e1f49f3e1d4742e19135e00bd41fa3de



          3.處理事件



          啟動測試



          啟動成功



          效果



          數(shù)據(jù)庫



          源碼工程文檔:https://drive.weixin.qq.com/s?k=ACoAYgezAAw1dWofra

          源碼報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl

          OEM版報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuzp4W0a

          產(chǎn)品源代碼:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc
          授權(quán)碼生成器:https://drive.weixin.qq.com/s?k=ACoAYgezAAwTIcFph1

          讀:有時候我們在瀏覽網(wǎng)頁的時候,會遇到我們自己喜歡的視頻,而這個網(wǎng)頁的視頻又不支直接持下載。如何才能直接下載網(wǎng)頁上的視頻呢?下面給大家?guī)韮煞N方法。

          第一種方法:前端代碼下載

          • 找到你要下載的網(wǎng)絡(luò)視頻點播放,播放后視頻上右擊鼠標(biāo),點擊“檢查”。

          • 然后在瀏覽器右側(cè)彈出的代碼地址中,找到帶視頻格式的鏈接,將其復(fù)制到下載工具即可。

          使用下載插件

          • 打開瀏覽器以后,在瀏覽器右上角點擊加號,進(jìn)入瀏覽器的插件中心,進(jìn)入后搜索插件Video Downloader。

          • 在搜索結(jié)果中找到其中的一個插件,點擊下載,下載完安裝插件,回到視頻頁面播放視頻,點擊右上角的插件。

          • 在彈出的頁面中即可看到視頻的下載地址,可以直接點擊后面的下載,將視頻保存到你的電腦。

          近碰到個需求,需要把當(dāng)前頁面生成 pdf,并下載。弄了幾天,自己整理整理,記錄下來,我覺得應(yīng)該會有人需要 :)

          項目源碼地址:https://github.com/linwalker/render-html-to-pdf


          簡介

          我們可以直接在瀏覽器端使用html2canvas,對整個或局部頁面進(jìn)行“截圖”。但這并不是真的截圖,而是通過遍歷頁面DOM結(jié)構(gòu),收集所有元素信息及相應(yīng)樣式,渲染出canvas image。

          由于html2canvas只能將它能處理的生成canvas image,因此渲染出來的結(jié)果并不是100%與原來一致。但它不需要服務(wù)器參與,整個圖片都由客戶端瀏覽器生成,使用很方便。

          使用

          使用的API也很簡潔,下面代碼可以將某個元素渲染成canvas:

          html2canvas(element, {
           onrendered: function(canvas) {
           // canvas is the final rendered <canvas> element
           }
          });
          

          通過onrendered方法,可以將生成的canvas進(jìn)行回調(diào),比如插入到頁面中:

          html2canvas(element, {
           onrendered: function(canvas) {
           document.body.appendChild(canvas);
           }
          });
          

          做個小例子(demo1)代碼如下:

          這個例子將頁面body中的元素渲染成canvas,并插入到body中。

          jsPDF

          jsPDF庫可以用于瀏覽器端生成PDF。

          文字生成PDF

          使用方法如下:

          // 默認(rèn)a4大小,豎直方向,mm單位的PDF
          var doc = new jsPDF();
          // 添加文本‘Download PDF’
          doc.text('Download PDF!', 10, 10);
          doc.save('a4.pdf');
          

          文字與圖片生成PDF

          // 三個參數(shù),第一個方向,第二個尺寸,第三個尺寸格式
          var doc = new jsPDF('landscape','pt',[205, 155])
          // 將圖片轉(zhuǎn)化為dataUrl
          var imageData = ‘data:image/png;base64,iVBORw0KGgo...’;
          //設(shè)置字體大小
          doc.setFontSize(20);
          //10,20這兩參數(shù)控制文字距離左邊,與上邊的距離
          doc.text('Stone', 10, 20);
          // 0, 40, 控制文字距離左邊,與上邊的距離
          doc.addImage(imageData, 'PNG', 0, 40, 205, 115);
          doc.save('a4.pdf')
          

          生成pdf需要把轉(zhuǎn)化的元素添加到j(luò)sPDF實例中,也有添加html的功能,但某些元素?zé)o法生成在pdf中,因此可以使用html2canvas + jsPDF的方式將頁面轉(zhuǎn)成pdf。通過html2canvas將遍歷頁面元素,并渲染生成canvas,然后將canvas圖片格式添加到j(luò)sPDF實例,生成pdf。

          html2canvas + jsPDF

          單頁

          將demo1的例子修改下:

          如果頁面內(nèi)容根據(jù)a4比例轉(zhuǎn)化后高度超過a4紙高度呢,生成的pdf會怎么樣?會分頁嗎?

          你可以試試,驗證一下自己的想法。

          jsPDF提供了一個很有用的API, addPage(),我們可以通過 pdf.addPage(),來添加一頁pdf,然后通過 pdf.addImage(...),將圖片賦予這頁pdf來顯示。

          那么我們?nèi)绾未_定哪里分頁?

          這個問題好回答,我們可以設(shè)置一個 pageHeight,超過這個高度的內(nèi)容放入下一頁pdf。

          來捋一下思路,將html頁面內(nèi)容生成canvas圖片,通過 addImage將第一頁圖片添加到pdf中,超過一頁內(nèi)容,通過 addPage()添加pdf頁數(shù),然后再通過 addImage將下一頁圖片添加到pdf中。

          嗯~,很好!巴特,難道沒有發(fā)現(xiàn)問題嗎?

          這個方法實現(xiàn)的前提是 — — 我們能根據(jù) pageHeight先將整頁內(nèi)容生成的canvas圖片分割成對應(yīng)的小圖片,然后一個蘿卜一個坑,一頁一頁 addImage進(jìn)去。

          What? 想一想我們的canvas是腫么來的,不用拉上去,直接看下面:

          html2canvas(document.body, {
           onrendered:function(canvas) {
           //it is here we handle the canvas
           }
          })
          

          這里的 body就是要生成canvas的元素對象,一個元素生成一個canvas;那么我們需要一頁一頁的canvas,也就是說。。。

          你覺得可能嗎? 我覺得不太現(xiàn)實,按這思路要獲取頁面上不同位置的DOM元素,然后通過 htnl2canvas(element,option)來處理,先不說能不能剛好在每個 pageHeight的位置剛好找到一個DOM元素,就算找到了,這樣做累不累。

          累的話 :)可以看看下面這種方法。

          多頁

          我提供的思路是我們只生成一個canvas,對就一個,轉(zhuǎn)化元素就是你要轉(zhuǎn)成pdf內(nèi)容的母元素,在這篇demo里就是 body了;其他不變,也是超過一頁內(nèi)容就 addPage,然后 addImage,只不過這里添加的是同一個canvas。

          當(dāng)然這樣做只會出現(xiàn)多頁重復(fù)的pdf,那到底怎么實現(xiàn)正確分頁顯示。其實主要利用了jsPDF的兩點:

          • 超過jsPDF實例格式尺寸的內(nèi)容不顯示( varpdf=newjsPDF('','pt','a4');demo中就是a4紙的尺寸)
          • addImage有兩個參數(shù)可以控制圖片在pdf中的位置

          雖然每一頁pdf上顯示的圖片是相同的,但我們通過調(diào)整圖片的位置,產(chǎn)生了分頁的錯覺。以第二頁為例,將豎直方向上的偏移設(shè)置為 -841.89即一張a4紙的高度,又因為超過a4紙高度范圍的圖片不顯示,所以第二頁顯示了圖片豎直方向上[841.89,1682.78]范圍內(nèi)的內(nèi)容,這就得到了分頁的效果,以此類推。

          還是看代碼吧:

          兩邊留邊距

          修改imgWidth,并且在addImage時x方向參數(shù)設(shè)置你要的邊距,具體代碼如下:

          作者:linwalkerhttps://segmentfault.com/a/1190000009211079

          主站蜘蛛池模板: 亚洲一区二区三区高清不卡| 国模大胆一区二区三区| 久久一区不卡中文字幕| 伊人精品视频一区二区三区| 精品亚洲一区二区三区在线播放| 国产成人欧美一区二区三区 | 人妻夜夜爽天天爽爽一区| 精品3d动漫视频一区在线观看| 亚洲丰满熟女一区二区哦| 国产亚洲综合精品一区二区三区| 一本色道久久综合一区| 美女一区二区三区| 色天使亚洲综合一区二区| 无码日韩人妻AV一区免费l| 免费视频一区二区| 日韩精品一区二区三区中文字幕 | 国产精品电影一区| 成人在线视频一区| 亚洲午夜精品一区二区麻豆| 国产人妖视频一区二区破除 | 亚洲AV成人一区二区三区AV | 国内精品视频一区二区三区八戒 | 日本高清天码一区在线播放| 在线免费视频一区| 在线免费观看一区二区三区| 无码日韩人妻AV一区二区三区| 成人精品一区二区三区不卡免费看| 任你躁国产自任一区二区三区 | 国产成人精品第一区二区| 欧美日韩综合一区二区三区| 亚洲成av人片一区二区三区| 国产精品毛片一区二区三区| 动漫精品一区二区三区3d| 亚洲国产国产综合一区首页| 精品国产一区二区三区www| 久久亚洲日韩精品一区二区三区| 国产成人高清亚洲一区久久| 一区二区高清在线| 国产福利无码一区在线| 国产精品一区二区久久| 无码人妻一区二区三区在线水卜樱|