摘要:圖片預(yù)覽方法圖片預(yù)覽現(xiàn)在大多數(shù)基于提供的接口,而給我們提供了四個方法屬性中二進制數(shù)據(jù)緩沖區(qū)屬性中包含文件原始二進制數(shù)據(jù)屬性中將包含一個格式的字符串以表示所讀取文件的內(nèi)容屬性中將包含一個字符串以表示所讀取的文件內(nèi)容一其中要實現(xiàn)圖片預(yù)覽需要用這
圖片預(yù)覽方法
圖片預(yù)覽現(xiàn)在大多數(shù)基于HTML5提供的接口FileReader,而FileReader給我們提供了四個方法
1.readAsArrayBuffer: result屬性中二進制數(shù)據(jù)緩沖區(qū)
2.readAsBinaryString: result屬性中包含文件原始二進制數(shù)據(jù)
3.readAsDataURL: result屬性中將包含一個data: URL格式的字符串以表示所讀取文件的內(nèi)容.
4.readAsText: result屬性中將包含一個字符串以表示所讀取的文件內(nèi)容.
一:其中要實現(xiàn)圖片預(yù)覽需要用readAsDataURL這個方法會將圖片轉(zhuǎn)換成base64的模式。之后我們把base64的字符串賦值給img的src屬性,就可以實現(xiàn)圖片預(yù)覽代碼如下
//html請選擇一個圖像文件:
//js var input = document.querySelector("#file_input"); input.onchange = function(){ readfile(input.files[0], (e)=>{ var src = e.target.result; var img = new Image(); img.src = src; document.body.appendChild(img); }) } //將圖片轉(zhuǎn)換成base64形式 function readfile(blob, callback){ var reader = new FileReader(); reader.onload = callback; reader.readAsDataURL(blob); }
二: 我么還可以使用對象URL中的方法createObjectURL()來實現(xiàn)圖片預(yù)覽,代碼如下
var input = document.querySelector("#file_input"); input.onchange = function(){ var img = new Image(); img.src = window.URL.createObjectURL(input.files[0]); document.body.appendChild(img); }
三: 我們還可以通過拖拽的方式來實現(xiàn)圖片預(yù)覽,代碼如下
//必須要禁止瀏覽器默認行為 drop.ondragenter = function(e){ e.preventDefault(); } drop.ondragover = function(e){ e.preventDefault(); } drop.onleave = function(e){ e.preventDefault(); } drop.ondrop = function(e){ e.preventDefault(); //獲取文件對象數(shù)組 var fs = e.dataTransfer.files; var reader = new FileReader(); reader.onload = function(e){ var img = new Image(); img.src = e.target.result; //圖片寬度和高度設(shè)置成拖拽狂框一樣 img.width = drop.clientWidth; img.height = drop.clientHeight; drop.appendChild(img); } reader.readAsDataURL(fs[0]); }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/87248.html
摘要:一前言圖片上傳是一個普通不過的功能,而圖片預(yù)覽就是就是上傳功能中必不可少的子功能了。偶然從上找到純前端圖片預(yù)覽的相關(guān)資料,經(jīng)過整理后記錄下來以便日后查閱。類型為,表示在讀取文件時發(fā)生的錯誤,只讀。 一、前言 圖片上傳是一個普通不過的功能,而圖片預(yù)覽就是就是上傳功能中必不可少的子功能了。在這之前,我曾經(jīng)通過訂閱input[type=file]元素的onchange事件,一旦更改路徑...
本文由云+社區(qū)發(fā)表作者介紹:練小習,2011年加入搜狐,負責搜狐相冊的產(chǎn)品策劃與前端開發(fā)。2015年后加入騰訊 ISUX (社交用戶體驗設(shè)計部),目前主要負責騰訊云的UI開發(fā)工作,專注于人機交互,有豐富的UI開發(fā)經(jīng)驗。 這段時間有幸加入了一個關(guān)于微信小程序的項目開發(fā)組,從無到有的根據(jù)文檔自行學習了小程序的開發(fā)過程,前面已經(jīng)有幾位前輩的文章珠玉在前,我這里就先從前端界面的開發(fā)方面談一談小程序以及我...
摘要:二編輯合成照片使用編輯壓縮重設(shè)尺寸比例轉(zhuǎn)成輸出預(yù)覽。三保存并上傳照片提交數(shù)據(jù)到服務(wù)器需要服務(wù)器支持我跳過了。數(shù)據(jù)主要來自拍攝的照片,多用于移動端開發(fā),端也會用到,此插件兼容主流瀏覽器,以下不支持。 系列文章 關(guān)于前端上傳文件全面基礎(chǔ)掃盲貼(零)關(guān)于前端上傳文件全面基礎(chǔ)掃盲貼(一) ----- XMLHttpRequest關(guān)于前端上傳文件全面基礎(chǔ)掃盲貼(二) ----- File關(guān)于前端...
摘要:后續(xù)過了幾天,公司購置了幾臺全新的測試機,測試同學將系統(tǒng)在一臺三星的機子上一測,又發(fā)現(xiàn)新問題了選擇完圖片進行本地預(yù)覽時,發(fā)現(xiàn)圖片翻轉(zhuǎn)了但上傳后再展示又是正常的。 最近在處理移動端選擇圖片實時預(yù)覽并上傳時遇到一個問題:上傳前圖片預(yù)覽正常,但上傳到服務(wù)器上的圖片展示到頁面上時,有時會出現(xiàn)圖片翻轉(zhuǎn)的問題,一般是翻轉(zhuǎn) 90 度。后經(jīng)一翻研究找到了問題所在,特在此記錄一下。 問題描述 接上面提到...
閱讀 2847·2021-11-22 15:22
閱讀 19015·2021-09-22 15:00
閱讀 1433·2021-09-07 09:58
閱讀 1236·2019-08-30 13:01
閱讀 2408·2019-08-29 16:27
閱讀 2344·2019-08-26 13:25
閱讀 1618·2019-08-26 12:13
閱讀 934·2019-08-26 11:53