HTML5實作預覽本機圖片 _html5教學技巧
html5
圖片預覽
問題描述
假設我們在HTML 裡面有一個圖片上傳控件:
複製代碼
代碼如下:注意這個 accept="image/*" 非常重要,它指定了上傳的是圖片,在行動端的時候會關聯到系統的彈跳窗選擇類型等問題,務必加上。
然後,問題是,我們在沒有提交這個表單到伺服器之前,有沒有辦法把圖片的內容讀取出來呢?
看似簡單,都是客戶端的文件,應該是可以的,但在之前確實沒什麼好辦法,但是自從有了HTML5,這個功能又回來了,透過FileReader可以輕鬆的實現這個功能。
範例說明問題
複製程式碼
程式碼如下:程式碼如下:
程式碼如下:$('#upload_image').change(function(event) {
// 根據這個 取得檔案的HTML5 js 物件
var files = event.target.files, file ;
if (files && files.length > 0) {
// 取得目前上傳的檔案
file = files[0];
// 來在控制台看看到底這個物件是什麼
console.log(file);
// 那麼我們可以做一下諸如文件大小校驗的動作
if(file.size > 1024 * 1024 * 2) {
alert('圖片大小不能超過2MB!');
return false;
}
// !!!!!!
// 以下是關鍵的關鍵,透過這個file 物件產生一個可用的圖像URL
// 取得window 的URL 工具
var URL = window.URL || window.webkitURL;
// 透過file 產生目標url
var imgURL = URL.createObjectURL(file); 🎜>// 用這個URL 產生一個
$('body').append($('
// 使用下面這句可以在記憶體中釋放對此url 的伺服,跑了之後那個URL 就無效了
// URL.revokeObjectURL(imgURL);
});
簡單說明
簡單來說整個操作設計如下幾步:
1.透過
2. 透過event 物件取得上傳的檔案的js 物件file ; 3.透過window.URL 工具從file 物件產生一個可用的URL; 4.把這個URL 置入使用;
5.*釋放這個URL 的伺服
關鍵點:
1.對於同一個file ,每次調用URL.createObjectURL 的時候,都會重新產生一個不同的URL;
2.呼叫URL. createObjectURL 的時候,瀏覽器自動在記憶體中開闢空間,用於伺服這個URL,也就是使得這個URL 可以請求成功;
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
刺客信條陰影:貝殼謎語解決方案
3 週前
By DDD
Windows 11 KB5054979中的新功能以及如何解決更新問題
2 週前
By DDD
刺客信條陰影 - 如何找到鐵匠,解鎖武器和裝甲定制
1 個月前
By DDD
在哪裡可以找到原子中的起重機控制鑰匙卡
3 週前
By DDD
<🎜>:死鐵路 - 如何完成所有挑戰
3 週前
By DDD

熱工具

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

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)
