Html5 FileReader でインスタント画像アップロード機能を実装するサンプルコード_html5 チュートリアル スキル
filereader
html5
画像をアップロードする
以下はie9で実装したプレビューです。ie8とはまだ違いますが、ie8でもfiter関数が使えるようなのでie8のバージョンは書きませんでした。 >
コードをコピーしますコードは次のとおりです:
>
ドキュメント /head>
#kk{
高さ:400px; 🎜>オーバーフロー: 非表示
}
#preview_wrapper{
幅:300px;
背景色:#CCC; }
#review_fake{ /* このオブジェクトは IE でプレビュー画像を表示するために使用されます*/
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
width:300px; : hidden;
}
#preview_size_fake{ /* このオブジェクトは IE で画像の元のサイズを取得するためにのみ使用され、他の用途はありません*/
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader (sizingMethod=image);
width:300px;
overflow: hidden;
}
#preview{ /* このオブジェクトは FF* /
幅:300px;
高さ:300px;
オーバーフロー:
onUploadImgChange(sender){
if ( !sender.value.match( /.jpg|.gif|.png|.bmp/i ) ){
alert('画像形式が無効です! ');
return false;
}
var objPreview = document.getElementById('preview');
var objPreviewFake = document.getElementById('preview_fake'); .getElementById('preview_size_fake');
if( sender.files && sender.files[0] ){ //ここで chrome と ff が互換性があります
objPreview.style.display = 'block'; >objPreview.style.width = 'auto';
objPreview.style.height = 'auto';
// セキュリティの問題により、Firefox は input[file] を通じて完全なファイルを直接取得できなくなりました。 .value Path
objPreview.src = sender.files[0].getAsDataURL();
}else if( objPreviewFake.filters ){
// ローカル画像アドレスを img に設定すると IE7、IE8 が表示されます.src 不可解な結果
//(同じ環境が表示される場合もあれば、表示されない場合もある)、フィルターでのみ解決可能
// IE7 と IE8 はセキュリティの問題により、input[file].value を直接渡すことができません完全なファイル パスを取得します。
sender.select();
var imgSrc = document.selection.createRange().text;
objPreviewFake.filters.item('DXImageTransform) .Microsoft.AlphaImageLoader').src = imgSrc;
objPreviewSizeFake.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc;
alert("画像が正常に選択されました!"); (objPreviewSizeFake.offsetWidth);
autoSizePreview( objPreviewFake,objPreviewSizeFake.offsetWidth, objPreviewSizeFake.offsetHeight );
objPreview.style.display = 'none';
関数 onPreviewLoad( ){
autoSizePreview( sender, sender.offsetWidth, sender.offsetHeight );
}
function autoSizePreview( objPre,originalWidth,originalHeight ){
varzoomParam = clacImgZoomParam( 300, 300,originalWidth,originalHeight) );
objPre.style.width =zoomParam.width 'px';
objPre.style.height =zoomParam.height 'px';
objPre.style.marginLeft =zoomParam.left 'px';
}
function clacImgZoomParam( maxWidth, maxHeight, width, height ){
var param = { width:width, height:height ,上:0、左:0 };
if(幅>maxWidth || 高さ>maxHeight ){
rateHeight = height / maxHeight; rateHeight ){
param.width = maxWidth;
param.height = height / rateWidth;
param.width = width / rateHeight; 🎜>}
}
param.left = (maxWidth - param.width) / 2;
param.top = (maxHeight - param.height) / 2; }
画像をプレビューするために使用されます。
#kk{
高さ:400px; 🎜>オーバーフロー: 非表示
}
#preview_wrapper{
幅:300px;
背景色:#CCC; }
#review_fake{ /* このオブジェクトは IE でプレビュー画像を表示するために使用されます*/
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
width:300px; : hidden;
}
#preview_size_fake{ /* このオブジェクトは IE で画像の元のサイズを取得するためにのみ使用され、他の用途はありません*/
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader (sizingMethod=image);
width:300px;
overflow: hidden;
}
#preview{ /* このオブジェクトは FF* /
幅:300px;
高さ:300px;
オーバーフロー:
onUploadImgChange(sender){
if ( !sender.value.match( /.jpg|.gif|.png|.bmp/i ) ){
alert('画像形式が無効です! ');
return false;
}
var objPreview = document.getElementById('preview');
var objPreviewFake = document.getElementById('preview_fake'); .getElementById('preview_size_fake');
if( sender.files && sender.files[0] ){ //ここで chrome と ff が互換性があります
objPreview.style.display = 'block'; >objPreview.style.width = 'auto';
objPreview.style.height = 'auto';
// セキュリティの問題により、Firefox は input[file] を通じて完全なファイルを直接取得できなくなりました。 .value Path
objPreview.src = sender.files[0].getAsDataURL();
}else if( objPreviewFake.filters ){
// ローカル画像アドレスを img に設定すると IE7、IE8 が表示されます.src 不可解な結果
//(同じ環境が表示される場合もあれば、表示されない場合もある)、フィルターでのみ解決可能
// IE7 と IE8 はセキュリティの問題により、input[file].value を直接渡すことができません完全なファイル パスを取得します。
sender.select();
var imgSrc = document.selection.createRange().text;
objPreviewFake.filters.item('DXImageTransform) .Microsoft.AlphaImageLoader').src = imgSrc;
objPreviewSizeFake.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc;
alert("画像が正常に選択されました!"); (objPreviewSizeFake.offsetWidth);
autoSizePreview( objPreviewFake,objPreviewSizeFake.offsetWidth, objPreviewSizeFake.offsetHeight );
objPreview.style.display = 'none';
関数 onPreviewLoad( ){
autoSizePreview( sender, sender.offsetWidth, sender.offsetHeight );
}
function autoSizePreview( objPre,originalWidth,originalHeight ){
varzoomParam = clacImgZoomParam( 300, 300,originalWidth,originalHeight) );
objPre.style.width =zoomParam.width 'px';
objPre.style.height =zoomParam.height 'px';
objPre.style.marginLeft =zoomParam.left 'px';
}
function clacImgZoomParam( maxWidth, maxHeight, width, height ){
var param = { width:width, height:height ,上:0、左:0 };
if(幅>maxWidth || 高さ>maxHeight ){
rateHeight = height / maxHeight; rateHeight ){
param.width = maxWidth;
param.height = height / rateWidth;
param.width = width / rateHeight; 🎜>}
}
param.left = (maxWidth - param.width) / 2;
param.top = (maxHeight - param.height) / 2; }
画像をプレビューするために使用されます。
🎜 >
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
アサシンのクリードシャドウズ:シーシェルリドルソリューション
3週間前
By DDD
Windows11 KB5054979の新しいものと更新の問題を修正する方法
2週間前
By DDD
Atomfallのクレーンコントロールキーカードを見つける場所
3週間前
By DDD
R.E.P.O.で節約説明した(そしてファイルを保存)
1 か月前
By 尊渡假赌尊渡假赌尊渡假赌
アサシンクリードシャドウ - 鍛冶屋を見つけて武器と鎧のカスタマイズを解除する方法
4週間前
By DDD

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7567
15


CakePHP チュートリアル
1386
52


Steamのアカウント名の形式は何ですか
87
11


NYTの接続はヒントと回答です
28
106



HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。
