Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产福利福利视频,好男人在线影院www,一区二区三区不卡视频

          整合營銷服務(wù)商

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

          免費(fèi)咨詢熱線:

          HTML5實(shí)現(xiàn)文件上傳下載功能實(shí)例解析

          后臺(tái)看到訪問記錄,很多用戶提了這個(gè)需求,要求用HTML5來實(shí)現(xiàn)。網(wǎng)上搜了一下,發(fā)現(xiàn)這類需求很多,相關(guān)的文章和代碼也很多,大部分用的是VUE,H5的也有,不過只提供了前端部分,后端的沒有。然后也不完善,花了很多的時(shí)間找了一些,有的用是能用,但是小問題太多,找這些能用的代碼,所花的時(shí)間都能夠完全自已寫一個(gè)出來了。很多代碼后續(xù)維護(hù)也是個(gè)問題,找不到原技術(shù)人員,也沒有完善的文檔,開發(fā)維護(hù)都靠自已,這樣花的時(shí)間有點(diǎn)不值得。


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

          1.引入up6組件

          2.配置接口地址

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

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

          3.定義事件

          TML5實(shí)現(xiàn)大文件上傳下載,HTML5實(shí)現(xiàn)大文件上傳下載解決方案,HTML5實(shí)現(xiàn)大文件上傳下載思路,HTML5實(shí)現(xiàn)大文件上傳下載源碼,HTML5實(shí)現(xiàn)大文件上傳下載實(shí)例,HTML5實(shí)現(xiàn)大文件分塊上傳下載,HTML5實(shí)現(xiàn)大文件分片上傳下載,HTML5實(shí)現(xiàn)大文件切片上傳下載,HTML5實(shí)現(xiàn)大文件加密上傳下載,HTML5實(shí)現(xiàn)文件夾上傳下載,


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

          分片還需要支持?jǐn)帱c(diǎn)續(xù)傳,現(xiàn)在HTML5雖然提供了信息記錄功能,但是只支持到了會(huì)話級(jí),也就是用戶不能關(guān)閉瀏覽器,也不能清空緩存。但是有的政府單位上傳大文件,傳了一半下班了,明天繼續(xù)傳,電腦一關(guān)結(jié)果進(jìn)度信息就丟失了,這個(gè)是他們的一個(gè)痛點(diǎn)。

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

          支持文件下載,批量下載,下載斷點(diǎn)續(xù)傳,加密下載,端到端加密,加密算法支持國密SM4,多線程下載

          支持在服務(wù)端保存文件夾層級(jí)結(jié)構(gòu),支持將文件夾層級(jí)結(jié)構(gòu)信息保存到數(shù)據(jù)庫中,支持下載時(shí)能夠?qū)⑽募A層級(jí)結(jié)構(gòu)下載下來,支持下載文件夾,下載文件夾支持?jǐn)帱c(diǎn)續(xù)傳,

          支持加密傳輸,包括加密上傳,加密下載,加密算法支持國密SM4,

          對(duì)于大文件的處理,無論是用戶端還是服務(wù)端,如果一次性進(jìn)行讀取發(fā)送、接收都是不可取,很容易導(dǎo)致內(nèi)存問題。所以對(duì)于大文件上傳,采用切塊分段上傳

          從上傳的效率來看,利用多線程并發(fā)上傳能夠達(dá)到最大效率。


          1.下載示例

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



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

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



          1.引入up6組件



          2.配置接口地址

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

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



          3.處理事件



          啟動(dòng)測(cè)試



          啟動(dòng)成功



          效果



          數(shù)據(jù)庫



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

          源碼報(bào)價(jià)單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl


          OEM版報(bào)價(jià)單: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)站上,都有一個(gè)點(diǎn)擊圖片或點(diǎn)擊某個(gè)鏈接會(huì)將指定的圖片下載到本地的功能,而這個(gè)功能就需要html 元素中的 A 標(biāo)簽的 download 屬性來實(shí)現(xiàn),接下來飛鳥慕魚博客就來說一說關(guān)于使用html或js實(shí)現(xiàn)圖片點(diǎn)擊下載的功能。

          A 標(biāo)簽的 download 屬性

          download:屬性為 A 標(biāo)簽在 HTML5 中新增加的一個(gè)屬性,它可以強(qiáng)制觸發(fā)瀏覽器的下載操作。

          語法:

          <a href="text.jpg" download="下載后的文件名稱" >點(diǎn)擊我可下載圖片</a>

          例:使用 html A 標(biāo)簽下載圖片

          HTML代碼:

          <a href="text.jpg" download="text">
           <img src="text.jpg" >
          </a>

          1、download 屬性規(guī)定被下載的超鏈接目標(biāo)。

          2、在 <a> 標(biāo)簽中必須設(shè)置 href 屬性。

          3、該屬性也可以設(shè)置一個(gè)值來規(guī)定下載文件的名稱。所允許的值沒有限制,

          js + html 實(shí)現(xiàn)下載

          如果不方便使用A標(biāo)簽來實(shí)現(xiàn)下載,可以使用JS生成A元素的形式,來實(shí)現(xiàn)同樣的效果。

          案例代碼:

          <img id="mochu_img" src="test.jpg" >
          <button type="button" οnclick="Download_Img()">點(diǎn)擊下載圖片</button>
          <script>
           function Download_Img() {
           var img = document.getElementById('mochu_img'); // 獲取要下載的圖片
           var url = img.src; // 獲取圖片地址
           var a = document.createElement('a'); // 創(chuàng)建一個(gè)a節(jié)點(diǎn)插入的document
           var event = new MouseEvent('click') // 模擬鼠標(biāo)click點(diǎn)擊事件
           a.download = 'mochu_img' // 設(shè)置a節(jié)點(diǎn)的download屬性值
           a.href = url; // 將圖片的src賦值給a節(jié)點(diǎn)的href
           a.dispatchEvent(event) // 觸發(fā)鼠標(biāo)點(diǎn)擊事件
           }
          </script>

          download 屬性補(bǔ)充說明

          1、并不是所有的瀏覽器支持此屬性,F(xiàn)irefox 和 Chrome是支持的

          2、Chrome 瀏覽器,在本地測(cè)試時(shí)失效

          3、download 屬性,為html5 中新增的屬性


          主站蜘蛛池模板: 乱码精品一区二区三区| 亚洲一区二区三区免费视频| 男插女高潮一区二区| 视频在线一区二区| 精品无码日韩一区二区三区不卡| 卡通动漫中文字幕第一区| 影音先锋中文无码一区| 国精产品一区一区三区| 成人区人妻精品一区二区不卡网站| 狠狠综合久久av一区二区| 麻豆国产一区二区在线观看| 无码人妻少妇色欲AV一区二区| 好爽毛片一区二区三区四| 丰满人妻一区二区三区视频| 国产视频一区二区在线观看| 亚洲欧美成人一区二区三区| 亚洲乱码一区av春药高潮| 乱码精品一区二区三区| 国产精品视频一区二区三区| 国产精品福利一区二区| 中日韩精品无码一区二区三区| 人妻av无码一区二区三区| 亚洲午夜精品一区二区公牛电影院| 亚洲av不卡一区二区三区| 无码人妻精品一区二区| 人妻体体内射精一区二区| 色欲AV蜜臀一区二区三区| 日本一区二区在线播放| 国产电影一区二区| 蜜桃传媒一区二区亚洲AV| 国产av一区二区精品久久凹凸| 日本精品一区二区三区在线视频一| 午夜爽爽性刺激一区二区视频| 日韩精品一区二区三区毛片| 无码人妻一区二区三区免费视频 | 久久精品亚洲一区二区三区浴池 | 国产福利电影一区二区三区,日韩伦理电影在线福 | 亚洲欧美一区二区三区日产| 无码人妻一区二区三区兔费| 国产麻豆媒一区一区二区三区| 免费一区二区无码视频在线播放|