最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS使用base64格式上傳文件

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

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

html頁面

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

js部分

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

? ?其中File對象可以是來自用戶在一個(gè)<input>元素上選擇文件后返回的FileList對象,
? ?也可以來自拖放操作生成的 DataTransfer對象,還可以是來自在一個(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í)會觸發(fā)
?* ? ? ?FeileReader.onload
?* ? ? ? ? ?處理load事件,在讀取操作完成時(shí)觸發(fā)的(成功時(shí)若有提示框彈出成功等字樣,寫在這里)
?* ? ? ? ? ?FeileReader.onload = function(){}
?* ? ? ?FeileReader.onloadStart?
?* ? ? ? ? ?在開始讀取的時(shí)候觸發(fā)
?* ? ? ?FeileReader.onloadEnd
?* ? ? ? ? ?在讀取操作結(jié)束的時(shí)候觸發(fā)
?* ? ? ?FeileReader.onProgess
?* ? ? ? ? ?該事件在讀取blob時(shí)觸發(fā)
?*?
?* 方法
?* ? ? ?FeileReader.abort()
?* ? ? ? ? ?中止讀取操作。在返回時(shí),readyState屬性為DONE。
?* ? ? ?FeileReader.readAsArrayBuffer()
?* ? ? ? ? ?開始讀取指定的Blob中的內(nèi)容,一旦完成,result屬性中保存的將是被讀取文件的ArrayBuffer數(shù)據(jù)對象
?* ? ? ?FileReader.readAsBinaryString()
?* ? ? ? ? ?開始讀取指定的Blob中的內(nèi)容,一旦完成,result屬性中將包含所讀取文件的原始二進(jìn)制數(shù)據(jù)
?* ? ? ?FileReader.readAsDataURL()
?* ? ? ? ? ?開始讀取指定的Blob中的內(nèi)容,一旦完成,result屬性中將包含一個(gè)data: URL格式的Base64字符串表示所讀取文件的內(nèi)容
?* ? ? ? ? ?1. readAsDataURL?
?* ? ? ? ? ?方法會讀取指定的 Blob 或 File 對象。讀取操作完成的時(shí)候,readyState 會變成已完成DONE,并觸發(fā) loadend 事件,
?* ? ? ? ? ?同時(shí) result 屬性將包含一個(gè)data:URL格式的字符串(base64編碼)以表示所讀取文件的內(nèi)容。
?* ? ? ? ? ?參數(shù): 即將被讀取的 Blob 或 File 對象。
?* ? ? ?FileReader.readAsText()?
?* ? ? ? ? ?開始讀取指定的Blob中的內(nèi)容,一旦完成,result屬性中將包含一個(gè)字符串來表示讀取的文件內(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('開始了')
? ? }
? ? 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]

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

相關(guān)文章

最新評論

焉耆| 大新县| 平湖市| 榆林市| 宁武县| 三河市| 张掖市| 招远市| 江源县| 缙云县| 蒙城县| 万全县| 洛南县| 牟定县| 九龙县| 马山县| 渭南市| 波密县| 芷江| 齐齐哈尔市| 芷江| 明溪县| 会同县| 通道| 鄂温| 开封市| 西安市| 调兵山市| 三河市| 蓬莱市| 攀枝花市| 澳门| 剑川县| 鹰潭市| 施秉县| 达孜县| 观塘区| 晋中市| 双牌县| 安吉县| 富锦市|