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頁面導航技術
主站蜘蛛池模板: 中文字幕色站| 最新精品久久精品| 成人一区在线| 国产天天射| 又黄又湿又爽的视频| 中文国产成人精品久久一| 国产av一码二码三码无码 | 最新加勒比隔壁人妻| 国产9191精品免费观看| 伊人成色综合网| 亚洲精品无码AⅤ片青青在线观看| 欧美 亚洲 日韩 国产| 午夜国产精品视频| 制服无码网站| 久久精品国产91久久综合麻豆自制| 夜色爽爽影院18禁妓女影院| 国模在线视频一区二区三区| 色综合热无码热国产| 精品无码专区亚洲| 久久精品人人做人人爽| 精品伊人久久久香线蕉 | 欧美第一页在线| 日韩欧美一区在线观看| 精品少妇人妻av无码久久| 99re在线免费视频| 亚洲精品国产自在现线最新| 国产美女91视频| 国产乱子伦视频在线播放| 久久semm亚洲国产| 午夜无码一区二区三区在线app| 亚洲中文字幕无码mv| 日韩二区三区| 又猛又黄又爽无遮挡的视频网站| 国产AV无码专区亚洲精品网站| 国产美女久久久久不卡| 国产资源免费观看| 91精品国产麻豆国产自产在线| 夜夜操国产| 四虎永久免费在线| 好紧好深好大乳无码中文字幕| 久久久久无码国产精品不卡| 色网站在线视频| 久久久91人妻无码精品蜜桃HD| 精品第一国产综合精品Aⅴ| 国产精品人成在线播放| 成人国产一区二区三区| 亚洲第一成年网| 国产高潮流白浆视频| 高清视频一区| 亚洲自拍另类| 精品少妇人妻无码久久| 国产精品欧美在线观看| 青青草国产一区二区三区| 毛片久久久| 日韩精品欧美国产在线| 噜噜噜久久| 韩日无码在线不卡| 一级毛片高清| 国产SUV精品一区二区| 一级毛片网| 亚洲AV无码乱码在线观看裸奔| 四虎影视无码永久免费观看| 亚洲视频色图| 免费A级毛片无码无遮挡| 欧美高清视频一区二区三区| 国产精品手机在线观看你懂的| 热这里只有精品国产热门精品| 粗大猛烈进出高潮视频无码| 国产18在线| 免费人成网站在线观看欧美| 日本道综合一本久久久88| 欧美一级高清视频在线播放| 99热线精品大全在线观看| 国产精品一线天| 欧美一级黄片一区2区| 在线观看91精品国产剧情免费| 国产91色在线| 国产一区二区三区免费观看| 午夜福利网址| 日日碰狠狠添天天爽| 亚洲 欧美 日韩综合一区| аⅴ资源中文在线天堂|