文件上傳功能現在是越來越普遍,所有的社交網站,媒體網站,比如優酷視頻,微博等,都提供了上傳圖片,上傳視頻等功能。但過去WEB程式設計師都很清楚,用HTML表單上傳檔案是很麻煩的事情,特別是你想了解一下使用者上傳的檔案的一些屬性,必須等它上傳完成後才能知道。
未知的東西上傳到伺服器上,有可能產生安全問題,也有可能體積太大,超過允許,浪費空間。現在好了,WEB技術在進步,HTML5帶來了很多好東西。這個FileReader API就能讓你在使用者上傳前就能取得上傳檔案的一些基本屬性。
HTML程式碼
這個FileReader API 的工作原理和 File API 一樣,需要使用input[type="file"] 元素:
<-- 一个能上传多媒体文件的表单 --> <input type="file" id="upload-file" multiple /> <-- 显示图片的地方 --> <div id="destination"></div>
在File API這篇文章裡有詳細的關於能讀取到的文件的相關信息,比如地址,體積,尺寸大小,文件類型等等。
JavaScript
這個例子中我們用input表單域上傳一張圖片,當使用者在自己的電腦裡選取一張圖片後,這個圖片會被顯示到頁面上:
document.getElementById('upload-file').addEventListener('change', function() { var file; var destination = document.getElementById('destination'); destination.innerHTML = ''; // 循环用户多选的文件 for(var x = 0, xlen = this.files.length; x < xlen; x++) { file = this.files[x]; if(file.type.indexOf('image') != -1) { // 非常简单的交验 var reader = new FileReader(); reader.onload = function(e) { var img = new Image(); img.src = e.target.result; // 显示图片的地方 destination.appendChild(img); }; reader.readAsDataURL(file); } } });
這個範例裡,我們使用FileReader裡的readAsDataURL方法將圖片內容轉換成base64編碼的字串,然後使用圖片的data URI方式顯示它。其它的FileReader讀取方法還有readAsText, readAsArrayBuffer和readAsBinaryString等
有了這個FileReader API,我們就可以避免使用者先將檔案上傳到伺服器,在瀏覽器客戶端我們就可以操作。這些在上傳到伺服器前的預處理是很有必要的。
以上就是本文的全部內容,希望對大家的學習有所幫助。

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver Mac版
視覺化網頁開發工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!