<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了JS使用base64格式上傳檔案的具體程式碼,供大家參考,具體內容如下
html頁面
<input type="file" id="fielinput" /> <img id="txshow" style="width:100px;height:100px;"/> <br/>解析之後的base64資料:<br/> <p id="data"></p>
js部分
/*** * * FileReader 物件允許Web應用程式非同步讀取儲存在使用者計算機上的檔案(或原始資料緩衝區)的內容, * 使用 File 或 Blob 物件指定要讀取的檔案或資料。 其中File物件可以是來自使用者在一個<input>元素上選擇檔案後返回的FileList物件, 也可以來自拖放操作生成的 DataTransfer物件,還可以是來自在一個HTMLCanvasElement上執行mozGetAsFile()方法後返回結果 */ /** * FileReader() 建構函式 * * 屬性 * FeileReader.error唯讀,表示讀取檔案失敗時發生的錯誤 * FeileReader.readyState唯讀,readyState代表數位,狀態 * EMPTY => 0 => 還未載入任何資料 * LOADINF => 1 => 正在載入 * DONE => 2 => 已經全部讀取完成 * FeileReader.result唯讀, * 檔案的內容,這個屬性要在讀取完成(也就是readyState變為2時)後才有效。 * * 事件處理事件 * FeileReader.onabort * 處理abort事件,在讀取操作中如果要中斷(終止)執行的事件 * FeileReader.error * 在讀取時如果發生錯誤時會觸發 * FeileReader.onload * 處理load事件,在讀取操作完成時觸發的(成功時若有提示框彈出成功等字樣,寫在這裡) * FeileReader.onload = function(){} * FeileReader.onloadStart * 在開始讀取的時候觸發 * FeileReader.onloadEnd * 在讀取操作結束的時候觸發 * FeileReader.onProgess * 該事件在讀取blob時觸發 * * 方法 * FeileReader.abort() * 中止讀取操作。在返回時,readyState屬性為DONE。 * FeileReader.readAsArrayBuffer() * 開始讀取指定的Blob中的內容,一旦完成,result屬性中儲存的將是被讀取檔案的ArrayBuffer資料物件 * FileReader.readAsBinaryString() * 開始讀取指定的Blob中的內容,一旦完成,result屬性中將包含所讀取檔案的原始二進位制資料 * FileReader.readAsDataURL() * 開始讀取指定的Blob中的內容,一旦完成,result屬性中將包含一個data: URL格式的Base64字串表示所讀取檔案的內容 * 1. readAsDataURL * 方法會讀取指定的 Blob 或 File 物件。讀取操作完成的時候,readyState 會變成已完成DONE,並觸發 loadend 事件, * 同時 result 屬性將包含一個data:URL格式的字串(base64編碼)以表示所讀取檔案的內容。 * 引數: 即將被讀取的 Blob 或 File 物件。 * FileReader.readAsText() * 開始讀取指定的Blob中的內容,一旦完成,result屬性中將包含一個字串來表示讀取的檔案內容 * * * * **/ var input = document.getElementById("fielinput"); input.addEventListener('change', readFile, false); function readFile() { var file = this.files[0]; //判斷是否是圖片型別 /*if (!/image/w+/.test(file.type)) { alert("只能選擇圖片"); return false; }*/ var reader = new FileReader(); // 返回一個新的FileReader函數 reader.readAsDataURL(file); reader.onloadstart = function (e){ console.log(e) console.log('開始了') } reader.onprogress = function(e){ console.log(e) } reader.onload = function (e) { console.log(e); console.log(reader.result); txshow.src = this.result; document.getElementById("data").innerText=this.result.substring(this.result.indexOf(',')+1); } reader.onloadend = function(e){ console.log(e) console.log('結束了') } }
小提示
function fileFormData(files){ console.log(this.files[0]) console.log(files.target.files[0]) }
在上傳檔案中,this.files[0]
全等於files.target.files[0]
的
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45