アップロードされるファイルのサイズと形式を制限する jQuery プラグインの例_jquery
May 16, 2016 pm 04:18 PMこの記事の例では、アップロードされるファイルのサイズと形式を制限する jQuery プラグインについて説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。
クライアントにファイルをアップロードする場合、通常、ファイルのサイズと形式を制限する必要があります。最も一般的な方法は、美しいインターフェイスと強力な機能を備えた特定のプラグインを使用することです。ただし、唯一の欠点は、ブラウザの互換性の問題が発生する場合があることです。この記事では、アップロードされるファイルのサイズと形式を制限できる「オリジナル」の jQuery プラグインを作成します。
まず、checkFileTypeAndSize.js という名前のプラグインを作成します。現在のファイルのサフィックス名がプリセットで許可されているサフィックス名配列に含まれているかどうかを判断して、IE およびその他のブラウザでの現在のファイルのサイズが、プリセットで許可されている最大ファイル サイズより大きいかどうかを判断して、ファイル形式を制限します。プリセット。ファイル サイズを制限し、フォーマット エラー、制限サイズの超過、および条件を満たす場合のコールバック関数を提供します。
$.fn.checkFileTypeAndSize = 関数 (オプション) {
//デフォルト設定
var デフォルト = {
許可される拡張子: []、
maxSize: 1024, //単位はKB、デフォルトの最大ファイルサイズは1MB=1024KBです
成功: function () { },
extensionerror: function () { },
サイズエラー: function () { }
};
//マージ設定
options = $.extend(defaults, options);
//要素を走査
return this.each(function () {
$(this).on('change', function () {
//ファイルパスを取得
var filePath = $(this).val();
//ファイルパスは小文字で表記します
var fileLowerPath = filePath.toLowerCase();
// ファイルのサフィックス名を取得します
var extension = fileLowerPath.substring(fileLowerPath.lastIndexOf('.') 1);
//サフィックス名がプリセットおよび許可されるサフィックス名の配列に含まれているかどうかを判断します
If ($.inArray(extension, options.allowedExtensions) == -1) {
options.extensionerror();
$(this).focus();
} else {
{
をお試しください var size = 0;
If ($.browser.msie) {//つまり古いバージョンのブラウザ
var fileMgr = new ActiveXObject("Scripting.FileSystemObject");
var fileObj = fileMgr.getFile(filePath);
サイズ = fileObj.size //バイト
; サイズ = サイズ / 1024;//kb
//サイズ = サイズ / 1024;//mb
} else {//その他のブラウザ
サイズ = $(this)[0].files[0].size;//byte
サイズ = サイズ / 1024;//kb
//サイズ = サイズ / 1024;//mb
} If (サイズ > options.maxSize) {
options.sizeerror();
} else {
options.success();
} } catch (e) {
alert("エラー: "e);
}
}
});
});
};
})(jQuery);
<script src="~/Scripts/checkFileTypeAndSize.js"></script>
<スクリプトタイプ="text/javascript">
$(function() {
$('#f').checkFileTypeAndSize({
AllowedExtensions:['jpg']、
maxSize: 10、
成功: function() {
アラート('ok');
},
拡張エラー: function() {
alert('許可される形式は jpg');
return;
},
サイズエラー: function() {
alert('最大サイズ 10kb');
return;
}
});
});
</script>
}

人気の記事

人気の記事

ホットな記事タグ

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

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

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

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

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

ホットトピック











Chrome プラグイン拡張機能のインストール ディレクトリとは何ですか?

動画アカウントのコメント制限を解除するにはどうすればよいですか?動画アカウントのコメントの文字数制限はどのくらいですか?

Edge ブラウザがこのプラグインをサポートしない理由に対する 3 つの解決策を共有します

jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか?

jQuery のヒント: ページ上のすべての a タグのテキストをすばやく変更する

WPS メンバーがアップロードできるドキュメントの最大サイズが制限を超えている場合はどうすればよいですか?

jQuery を使用してすべての a タグのテキスト コンテンツを変更する
