999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于web html5+js的圖片壓縮上傳技術研究

2018-03-03 03:56:29楊平
科學與財富 2018年1期
關鍵詞:頁面

楊平

摘 要:能夠在上傳到服務器之前進行圖片壓縮處理,也就是在客戶端進行圖片的處理需求一直都在,對于原生APP來說,具有原生API,圖片處理很簡單,而對于B/S應用來說,沒有原生AIP的支持,處理圖片就變得有些棘手。就當前的技術發展來說,可以通過對算法的實現來解決圖片的壓縮,客戶端的解析能力并沒有想象中那么強大,算法的運行環境需要強的解析環境,同時,實現算法也會增加很大的代碼量。

關鍵詞:web2.0;javascript;圖片壓

1相關理論與技術介紹

1.1 Web技術

技術標準方面,2004年W3C期望發展是XHTML2.0,2009年W3C放棄了改進XHTML2.0的標準發展。當前W3C和WHATWG都在進行html5規范的修訂和發展。其中W3C致力于對html5的展示層面,包括很多新的元素的制定,WHATWG致力在開發的角度進行改進。移動Web應用使用Web技術來構建,用網頁語言(如HTML、JavaScript、Java等編程語言)進行撰寫,并通過網頁瀏覽器在互聯網或企業內部網上執行。

1.2 HTML5關鍵技術

HTML5有兩大特點:首先,強化了Web網頁的表現性能。其次,追加了本地數據庫等Web應用的功能。圖片在線處理功能的實現正是通過HTML5強化網頁表,追加的canvas標簽實現的,在開發圖片在線處理功能時,項目首先是通過HTML5技術實現的。HTML5圖片在線處理包括四大功能,剪裁、縮放、旋轉、水印。這些可以通過canvas標簽調用HTML5內置API分別實現。

1.3 XMLHTTPrequest 2.0

XMLHttpRequest(XHR)是一個API對象,其中的方法可以用來在瀏覽器和服務器端傳輸數據。這個對象是瀏覽器的js環境提供的。從XHR獲取數據的目的是為了持續修改一個加載過的頁面,XHR是Ajax設計的底層概念。XHR使用的協議不同于HTTP,不僅可以使用XML格式的數據,也支持JSON,HTML或者純文本。

2 Web前端圖片壓縮處理技術研究

2.1 前端操作的性能指標

正如項目前期無框架可言一樣,移動Web前端開發前期除了建立盡量完善的移動開發規范來避兔不必要的性能問題外,同樣無法過度追求性能優化。多數的前端性能優化方案來自于權衡的結果。因此,前端性能優化的工作往往放在應用開發到一定階段后開展,以及項目正式上線后定期進行維護。在對移動圖片社交Web應用進行前端性能優化之前,需要進行應用整體的性能測試,并根據性能測試分析結果制定優化方案加以應用。前端性能指標主要包括加載時間指標,資源情況指標和網絡連接指標。

2.2 基本原理

圖像數據之所以能被壓縮,就是因為數據中存在著冗余。圖像數據的冗余主要表現為:圖像中相鄰像素間的相關性引起的空間冗余;圖像序列中不同幀之間存在相關性引起的時間冗余;不同彩色平面或頻譜帶的相關性引起的頻譜冗余。數據壓縮的目的就是通過去除這些數據冗余來減少表示數據所需的比特數。由于圖像數據量的龐大,在存儲、傳輸、處理時非常困難,因此圖像數據的壓縮就顯得非常重要。

大體思路如下:

(1)利用FileReader,讀取blob對象,或者是file對象,將圖片轉化為data uri的形式。(2)使用canvas,在頁面上新建一個畫布,利用canvas提供的API,將圖片畫入這個畫布當中。(3)利用canvas.toDataURL(),進行圖片的壓縮,得到圖片的data uri的值。(4)上傳文件。

2.3 文件上傳方式

文件上傳有2種方式:

(1)將圖片轉化為base64:可以通過xhr ajax或者xhr2 FormData進行提交。

(2)將圖片數據轉為Blob對象,使用FormData上傳文件:Blob對象是無法注入到FormData對象當中的,當拿到了圖片的data uri數據后,將其轉化為Blob數據類型。

3 圖片壓縮功能實現過程

3.1 圖片預處理

在進行圖片壓縮前,還是對圖片大小做了判斷的,如果圖片大小大于200KB時,是直接進行圖片上傳,不進行圖片的壓縮,如果圖片的大小是大于200KB,則是先進行圖片的壓縮再上傳。

3.2 圖片轉換為canvas

基于HTML5 的圖片方法的基本思路是利用HTML5 的input[type=file] 組件選擇圖片,使用FileReader 對象讀取選中圖片數據,使用Canvas 標簽的DrawImage 方法將圖片剪裁到指定大小,使用Canvas 的toDataURL 方法按照指定質量將圖片數據轉換成Base64 編碼,最后,通過Ajax 異步通信,將圖片數據發送到服務器端,服務器端接收并保存圖片,從而實現圖片壓縮上傳。

3.3 canvas轉換為圖片數據格式

轉換 Canvas 為 Image,假設圖像已經在canvas上處理好,那么可以使用以下方法,把canvas轉變為圖片Image對象。

3.4 利用大對象進行數據傳輸數據

瀏覽選定照片后獲取上傳照片文件的大小,根據其大小開辟一塊內存空間用于將來存儲圖片對象, 然后將上傳的照片文件讀取到字節數組中,繼而轉換成二進制流的形式,并賦值給一個會話(Session)對象。

從會話(Session)對象中將二進制流形式的圖片賦值給字節變量,然后將該字節變量再賦值給插入語句的參數,最后通過執行插入語句實現媒體資料的存儲。

首先,創建一個文件用以獨立顯示檢索的圖片,在該文件中編寫查詢語句將圖片檢索出來,檢索結果存入到數據表中。如果檢索結果不為空,則將該圖片返回到下一步的結果中。其次, 在瀏覽頁面中編寫查詢語句實現圖片各個信息的檢索,對于圖片內容應用帶參數鏈接的方式與上一步檢索出的結果聯系起來,最終實現圖片在頁面的瀏覽。

3.5 壓縮方法的實現

(1)頁面添加文件選擇組件

(2)監聽文件組件的change 事件并讀取圖片內容

(3)圖片壓縮及調用

(4)異步上傳:壓縮后的圖片通過JQuery實現異步上傳。

(5)服務器端保存

4結論

基于HTML5 的Canvas 對象對圖片進行壓縮的方法,適用于手機的移動網站和各類移動應用的開發,對增強用戶體驗,減輕服務器壓力有一定的實際意義。Web技術已經深入人們日常生活的方方面面,其中對HTML5安全性的研究具有重要的現實意義。BLOB 存儲格式同C#代碼相結合, 將圖像資料轉換成二進制流存入數據庫,調用時再將二進制流還原成原始文件,很好地實現了圖像資料的存儲和讀取, 解決了常規數據格式無法處理的問題,從而保證了相關專業軟件的順利應用。此外,BLOB 存儲技術不僅可以應用于圖像資料,對于音頻、視頻等資料也同樣適用。以HTML5為代表的移動Web技術尚處于發展的初級階段,標準本身在向不斷完善和改進空間演進,且相比本地應用移動智能終端仍存在執行HTML5效率低、設備調用能力受限、能耗較大等問題,都影響著移動Web應用的體驗。

參考文獻:

[1]鄒紹武,蘇貴斌.Android應用開發中圖片壓縮技術的研究應[J].計算機技術, 2014(1):17.

[2]馬建華,楊波.C/S與B/S結構中BLOB類型數據的應用[J].計算機應用,2015(14):4-5.

猜你喜歡
頁面
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
在本機中輕松完成常見PDF操作
電腦愛好者(2022年3期)2022-05-30 10:48:04
移動頁面設計:為老人做設計
工業設計(2016年1期)2016-05-04 03:58:09
Web安全問答(3)
通信技術(2012年4期)2012-02-15 07:10:35
同一Word文檔 縱橫頁面并存
網站結構在SEO中的研究與應用
幾種頁面置換算法的基本原理及實現方法
淺析ASP.NET頁面導航技術
主站蜘蛛池模板: 18禁影院亚洲专区| 亚洲一区二区三区麻豆| 精品国产亚洲人成在线| 国产精品第| 好久久免费视频高清| 国产精品私拍在线爆乳| 波多野结衣在线se| 久久人午夜亚洲精品无码区| 国产传媒一区二区三区四区五区| 无码日韩视频| 国产成年无码AⅤ片在线| 国产成人精彩在线视频50| 欧美国产日本高清不卡| 亚洲一区二区三区国产精华液| a级毛片在线免费观看| 无码内射中文字幕岛国片| 亚洲精品动漫| 香蕉精品在线| 国产日韩av在线播放| 日韩精品一区二区三区中文无码| 国产永久在线视频| 欧美激情伊人| 欧美日韩资源| 日韩精品无码免费一区二区三区| 暴力调教一区二区三区| 亚洲av无码专区久久蜜芽| 成年人视频一区二区| 日韩 欧美 国产 精品 综合| 免费国产高清视频| 色综合激情网| 激情视频综合网| 老司机久久精品视频| 亚洲a级毛片| 欧美午夜在线播放| 亚洲成在人线av品善网好看| 中文无码伦av中文字幕| 国产精品jizz在线观看软件| 波多野结衣视频一区二区| 亚洲成网777777国产精品| 久久国产毛片| 多人乱p欧美在线观看| 久久精品人人做人人爽97| 欧美精品伊人久久| 成人福利视频网| 欧美国产三级| 国产清纯在线一区二区WWW| 国产三级成人| 国产一级毛片yw| 日韩精品毛片人妻AV不卡| 无码精油按摩潮喷在线播放 | 最新痴汉在线无码AV| 亚洲av片在线免费观看| 国产一区二区在线视频观看| 思思热在线视频精品| 国产精品夜夜嗨视频免费视频| 九九九精品成人免费视频7| 久久免费观看视频| 国产成人一区在线播放| 欧美亚洲国产一区| 爽爽影院十八禁在线观看| 欧美色视频日本| 亚洲国产精品无码AV| 国产一级小视频| 国产免费一级精品视频| 91精品国产自产在线老师啪l| 黄色国产在线| 国产成人无码综合亚洲日韩不卡| 午夜天堂视频| 婷五月综合| 亚洲大学生视频在线播放| 漂亮人妻被中出中文字幕久久| 亚州AV秘 一区二区三区| 亚洲毛片在线看| 蝌蚪国产精品视频第一页| 亚洲伦理一区二区| 中文字幕天无码久久精品视频免费| 日本亚洲国产一区二区三区| 54pao国产成人免费视频| 欧美日韩亚洲国产| 成人看片欧美一区二区| 伊人五月丁香综合AⅤ| 天天操天天噜|