欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS使用base64格式上傳文件

 更新時(shí)間:2022年07月15日 08:48:52   作者:海闊天空BM  
這篇文章主要為大家詳細(xì)介紹了JS使用base64格式上傳文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了JS使用base64格式上傳文件的具體代碼,供大家參考,具體內(nèi)容如下

html頁(yè)面

<input type="file" id="fielinput" />
<img id="txshow" style="width:100px;height:100px;"/>
<br/>解析之后的base64數(shù)據(jù):<br/>
<p id="data"></p>

js部分

/***
?*?
?* FileReader 對(duì)象允許Web應(yīng)用程序異步讀取存儲(chǔ)在用戶計(jì)算機(jī)上的文件(或原始數(shù)據(jù)緩沖區(qū))的內(nèi)容,
?* 使用 File 或 Blob 對(duì)象指定要讀取的文件或數(shù)據(jù)。

? ?其中File對(duì)象可以是來(lái)自用戶在一個(gè)<input>元素上選擇文件后返回的FileList對(duì)象,
? ?也可以來(lái)自拖放操作生成的 DataTransfer對(duì)象,還可以是來(lái)自在一個(gè)HTMLCanvasElement上執(zhí)行mozGetAsFile()方法后返回結(jié)果

*/

/**
?* FileReader() 構(gòu)造函數(shù)
?*?
?* 屬性
?* ? ? ?FeileReader.error只讀,表示讀取文件失敗時(shí)發(fā)生的錯(cuò)誤
?* ? ? ?FeileReader.readyState只讀,readyState代表數(shù)字,狀態(tài)
?* ? ? ? ? EMPTY => 0 => 還未加載任何數(shù)據(jù) ?
?* ? ? ? ? LOADINF => 1 => 正在加載
?* ? ? ? ? DONE => 2 => 已經(jīng)全部讀取完成
?* ? ? ?FeileReader.result只讀,
?* ? ? ? ? ?文件的內(nèi)容,這個(gè)屬性要在讀取完成(也就是readyState變?yōu)?時(shí))后才有效。
?*?
?* 事件處理事件
?* ? ? ?FeileReader.onabort?
?* ? ? ? ? ?處理abort事件,在讀取操作中如果要中斷(終止)執(zhí)行的事件
?* ? ? ?FeileReader.error
?* ? ? ? ? ?在讀取時(shí)如果發(fā)生錯(cuò)誤時(shí)會(huì)觸發(fā)
?* ? ? ?FeileReader.onload
?* ? ? ? ? ?處理load事件,在讀取操作完成時(shí)觸發(fā)的(成功時(shí)若有提示框彈出成功等字樣,寫在這里)
?* ? ? ? ? ?FeileReader.onload = function(){}
?* ? ? ?FeileReader.onloadStart?
?* ? ? ? ? ?在開(kāi)始讀取的時(shí)候觸發(fā)
?* ? ? ?FeileReader.onloadEnd
?* ? ? ? ? ?在讀取操作結(jié)束的時(shí)候觸發(fā)
?* ? ? ?FeileReader.onProgess
?* ? ? ? ? ?該事件在讀取blob時(shí)觸發(fā)
?*?
?* 方法
?* ? ? ?FeileReader.abort()
?* ? ? ? ? ?中止讀取操作。在返回時(shí),readyState屬性為DONE。
?* ? ? ?FeileReader.readAsArrayBuffer()
?* ? ? ? ? ?開(kāi)始讀取指定的Blob中的內(nèi)容,一旦完成,result屬性中保存的將是被讀取文件的ArrayBuffer數(shù)據(jù)對(duì)象
?* ? ? ?FileReader.readAsBinaryString()
?* ? ? ? ? ?開(kāi)始讀取指定的Blob中的內(nèi)容,一旦完成,result屬性中將包含所讀取文件的原始二進(jìn)制數(shù)據(jù)
?* ? ? ?FileReader.readAsDataURL()
?* ? ? ? ? ?開(kāi)始讀取指定的Blob中的內(nèi)容,一旦完成,result屬性中將包含一個(gè)data: URL格式的Base64字符串表示所讀取文件的內(nèi)容
?* ? ? ? ? ?1. readAsDataURL?
?* ? ? ? ? ?方法會(huì)讀取指定的 Blob 或 File 對(duì)象。讀取操作完成的時(shí)候,readyState 會(huì)變成已完成DONE,并觸發(fā) loadend 事件,
?* ? ? ? ? ?同時(shí) result 屬性將包含一個(gè)data:URL格式的字符串(base64編碼)以表示所讀取文件的內(nèi)容。
?* ? ? ? ? ?參數(shù): 即將被讀取的 Blob 或 File 對(duì)象。
?* ? ? ?FileReader.readAsText()?
?* ? ? ? ? ?開(kāi)始讀取指定的Blob中的內(nèi)容,一旦完成,result屬性中將包含一個(gè)字符串來(lái)表示讀取的文件內(nèi)容
?* ?
?*?
?*?
?* **/
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(); // 返回一個(gè)新的FileReader函數(shù)
? ? reader.readAsDataURL(file);
? ? reader.onloadstart = function (e){?
? ? ? ? console.log(e)
? ? ? ? console.log('開(kāi)始了')
? ? }
? ? 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('結(jié)束了')
? ? }
}

小提示

function fileFormData(files){
? ? console.log(this.files[0])
? ? console.log(files.target.files[0])
}

在上傳文件中,this.files[0]全等于files.target.files[0]

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 深入理解JS中的Promise.race控制并發(fā)量

    深入理解JS中的Promise.race控制并發(fā)量

    這篇文章主要為大家介紹了JS中的Promise.race控制并發(fā)量的深入理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 實(shí)現(xiàn)變速回到頂部的JavaScript代碼

    實(shí)現(xiàn)變速回到頂部的JavaScript代碼

    一般網(wǎng)頁(yè)的下方都會(huì)放置一個(gè)置頂按鈕, 尤其是頁(yè)面底部沒(méi)有導(dǎo)航的網(wǎng)頁(yè), 這樣可以幫助訪客重新找到導(dǎo)航或者重溫一遍廣告 (想得真美).
    2011-05-05
  • 網(wǎng)頁(yè)與鍵盤

    網(wǎng)頁(yè)與鍵盤

    網(wǎng)頁(yè)與鍵盤...
    2006-07-07
  • JavaScript中兩個(gè)字符串的匹配

    JavaScript中兩個(gè)字符串的匹配

    本文分享JavaScript中兩個(gè)字符串的匹配的一個(gè)實(shí)例代碼,希望能給大家做一個(gè)參考。
    2016-06-06
  • javascript實(shí)現(xiàn)自動(dòng)填寫表單實(shí)例簡(jiǎn)析

    javascript實(shí)現(xiàn)自動(dòng)填寫表單實(shí)例簡(jiǎn)析

    這篇文章主要介紹了javascript實(shí)現(xiàn)自動(dòng)填寫表單的方法,以一個(gè)簡(jiǎn)單實(shí)例形式分析了JavaScript結(jié)合瀏覽器設(shè)置實(shí)現(xiàn)自動(dòng)保存表單的相關(guān)技巧,需要的朋友可以參考下
    2015-12-12
  • JavaScript 實(shí)現(xiàn)繼承的幾種方式

    JavaScript 實(shí)現(xiàn)繼承的幾種方式

    這篇文章主要介紹了JavaScript 實(shí)現(xiàn)繼承的幾種方式,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下
    2021-02-02
  • 用js實(shí)現(xiàn)用戶注冊(cè)功能

    用js實(shí)現(xiàn)用戶注冊(cè)功能

    這篇文章主要為大家詳細(xì)介紹了用js實(shí)現(xiàn)用戶注冊(cè)的簡(jiǎn)潔版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Babel 入門教程學(xué)習(xí)筆記

    Babel 入門教程學(xué)習(xí)筆記

    Babel是一個(gè)廣泛使用的轉(zhuǎn)碼器,可以將ES6代碼轉(zhuǎn)為ES5代碼,本篇文章主要介紹了Babel 入門教程學(xué)習(xí)筆記,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 簡(jiǎn)約JS日歷控件 實(shí)例代碼

    簡(jiǎn)約JS日歷控件 實(shí)例代碼

    這篇文章介紹了一款簡(jiǎn)約JS日歷控件的全部代碼,有需要的朋友可以參考一下
    2013-07-07
  • 一個(gè)簡(jiǎn)易的js圖片輪播效果

    一個(gè)簡(jiǎn)易的js圖片輪播效果

    這篇文章主要為大家詳細(xì)介紹了一個(gè)簡(jiǎn)易的js圖片輪播效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07

最新評(píng)論