FileReader:ローカルピクチャファイルを読み込み、表示する
4801 ワード
プレゼンテーションの表示
ページにローカルピクチャを表示するには、以前は選択したピクチャファイルをバックエンドサーバにアップロードし、バックエンドに格納し、ピクチャのURLをフロントエンドに戻し、フロントエンドにこのURLでピクチャを表示するのが一般的でした.HTML 5のFileReaderインタフェースはローカルプレビューをサポートしており、FileReaderインタフェースは主にファイルをメモリに読み込み、ファイル内のデータを読み取る方法を提供しており、もちろんローカル画像をアップロードする必要はありません.現在、高級ブラウザはFileReaderインタフェースを実現しているので、IE 6のような古いものは直接太くなっています.
その前に、HTML 5アプリケーションのファイルをドラッグしてアップロードする文章があります.この文章を読んだ後、ドラッグして画像を表示したり、画像を編集したり、最後にアップロードしたりする機能を作ってみてください.
HTML
最初のステップhtmlを作成し、ページにファイル選択のinput#file_を配置します.inputと結果を表示するdiv#result.
<p>
<label> :</label>
<input type="file" id="file_input" />
</p>
<div id="result"></div>
Javascript
getElementByIdでノードを取得し、ブラウザの互換性を判断します.FileReaderインタフェースがサポートされていないブラウザでは、inputを無効にするプロンプトが表示されます.そうしないと、inputのchangeイベントが傍受されます.
var result = document.getElementById("result");
var input = document.getElementById("file_input");
if(typeof FileReader==='undefined'){
result.innerHTML = " , FileReader";
input.setAttribute('disabled','disabled');
}else{
input.addEventListener('change',readFile,false);
}
そしてfile_inputのchangeイベントがトリガーされると、関数readFile()が呼び出されます.readFileでは、まずfileオブジェクトを取得し、fileのtypeプロパティでファイルタイプを検出します.もちろん、画像タイプのファイルのみを選択できます.次に、FileReaderインスタンスをnewし、readAsDataURLメソッドを呼び出して選択した画像ファイルを読み込み、onloadイベントで正常に読み込まれたファイル内容を取得します.選択したピクチャをimgノードを挿入して表示します.
function readFile(){
var file = this.files[0];
if(!/image\/\w+/.test(file.type)){
alert(" !");
return false;
}
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function(e){
result.innerHTML = '<img src="'+this.result+'" alt=""/>'
}
}
どうでしょう.バックグラウンドと対話せずにローカル画像をページに表示できるように見えます.最後にFileReaderの方法とイベントを理解します.
FileReaderのメソッドとイベント
パラメータ/イベント
説明
方法
abort
わりこみよみとり
readAsText(file, [encoding])
ファイルをテキストとして読み込む方法には2つのパラメータがあり、2番目のパラメータはテキストの符号化方法であり、デフォルト値はUTF-8である.この方法は非常に理解しやすく、ファイルをテキストで読み取り、読み取りの結果、このテキストファイルの内容になります.
readAsBinaryString(file)
ファイルをバイナリコードで読み込む通常はバックエンドに転送し、バックエンドはこの文字列でファイルを格納できます.
readAsDataURL(file)
ファイルをDataURLとして読み込み、ファイルを一連のData URL文字列として読み込み、小さなファイルを特殊なフォーマットのURLアドレスで直接ページに読み込みます.小ファイルとは、画像やhtmlなどのフォーマットのファイルを指します.
≪イベント|Events|ldap≫
onabort
データ読み込み中断時にトリガー
onerror
データ読み込みエラー時にトリガー
onloadstart
データ読み込み開始時にトリガー
onload
データ読み込みが正常に完了するとトリガーされます
onloadend
データの読み込みが完了したときにトリガーされます.
声明:本文はオリジナルの文章で、helloweba.comと作者は著作権を持っていて、もし転載する必要があるならば、hellowebaに由来することを明記してください.comと原文リンクを保持する:http://www.helloweba.com/view-blog-224.html