国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

原生JS實現前端本地文件上傳

2024-05-06 16:46:02
字體:
來源:轉載
供稿:網友

本文實例為大家分享了JS實現前端本地文件上傳的具體代碼,供大家參考,具體內容如下

通過input type = file來選擇本地文件

<div>  <form>    <input type="file" id="file-input" name="fileContent">  </form></div>
var fileInput = document.querySelector('#file-input');fileInput.onchange = function(){  console.log('文件名:',this.value)  var formData = new FormData(this.form);  console.log(formData)}//打印出的結果是文件名: C:/fakepath/css.jpg然后在是一個空對象

使用formData無法得到文件的內容,那么就使用FileReader來讀取整個文件的內容

var fileInput = document.querySelector('#file-input');fileInput.onchange = function(){ var filereader = new FileReader(); var fileType = this.files[0].type; filereader.onload = function(){   if(/^image/[jpeg|png|gif]/.test(fileType)){     console.log(this.result);   } } console.log(this.files[0]); filereader.readAsDataURL(this.files[0]);}console.dir(fileInput);

從打印結果來看,能清楚的知道上傳的文件信息是在input type = ‘file'dom對象中的files[0]中。 
filereader.readAsDataURL是將flies[0]里的信息轉換成base64方式讀取。 
filereader的讀取為以下格式:

  • readAsDataURL(this.files[0]) base64位讀取
  • readAsBinaryString(this.files[0]) 以二進制方式讀取讀取結果是UTF-8形式(被廢棄)
  • readAsArrayBuffer(this.flies[0]) 以二進制原始方法讀取,讀取結果可轉換成整數的數組
var files = document.getElementById('pic').files; //files是文件選擇框選擇的文件對象數組if(files.length == 0) return; var form = new FormData(),   url = 'http://.......', //服務器上傳地址  file = files[0];form.append('file', file);var xhr = new XMLHttpRequest();xhr.open("post", url, true);//上傳進度事件xhr.upload.addEventListener("progress", function(result) {  if (result.lengthComputable) {    //上傳進度    var percent = (result.loaded / result.total * 100).toFixed(2);   }}, false);xhr.addEventListener("readystatechange", function() {  var result = xhr;  if (result.status != 200) { //error    console.log('上傳失敗', result.status, result.statusText, result.response);  }   else if (result.readyState == 4) { //finished    console.log('上傳成功', result);  }});xhr.send(form); //開始上傳

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武夷山市| 岚皋县| 乃东县| 山阳县| 汽车| 巍山| 沙坪坝区| 德钦县| 邓州市| 牟定县| 钦州市| 会昌县| 黄石市| 梁平县| 共和县| 江安县| 辉南县| 都江堰市| 桂阳县| 丰宁| 孟州市| 博爱县| 文登市| 曲麻莱县| 调兵山市| 阿克| 巧家县| 洪湖市| 太仓市| 依兰县| 漳浦县| 中江县| 尤溪县| 晋城| 福清市| 株洲市| 高阳县| 平湖市| 定远县| 晋江市| 富锦市|