ホームページ ウェブフロントエンド jsチュートリアル アップロードされるファイルのサイズと形式を制限する jQuery プラグインの例_jquery

アップロードされるファイルのサイズと形式を制限する jQuery プラグインの例_jquery

May 16, 2016 pm 04:18 PM
jquery ファイルをアップロードする サイズ プラグイン フォーマット 限界

この記事の例では、アップロードされるファイルのサイズと形式を制限する 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);

クライアントへの電話は非常に簡単になります。


コードをコピー コードは次のとおりです:<input type="file" name="f" id= "f" />
@セクションスクリプト
{
<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>
}

この記事が皆さんの jQuery プログラミングに役立つことを願っています。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Chrome プラグイン拡張機能のインストール ディレクトリとは何ですか? Chrome プラグイン拡張機能のインストール ディレクトリとは何ですか? Mar 08, 2024 am 08:55 AM

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

VirtualBox でディスク サイズを増やす方法 [ガイド] VirtualBox でディスク サイズを増やす方法 [ガイド] Mar 17, 2024 am 10:10 AM

VirtualBox でディスク サイズを増やす方法 [ガイド]

動画アカウントのコメント制限を解除するにはどうすればよいですか?動画アカウントのコメントの文字数制限はどのくらいですか? 動画アカウントのコメント制限を解除するにはどうすればよいですか?動画アカウントのコメントの文字数制限はどのくらいですか? Mar 22, 2024 pm 02:11 PM

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

Edge ブラウザがこのプラグインをサポートしない理由に対する 3 つの解決策を共有します Edge ブラウザがこのプラグインをサポートしない理由に対する 3 つの解決策を共有します Mar 13, 2024 pm 04:34 PM

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

jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか? jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか? Feb 28, 2024 pm 03:12 PM

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

jQuery のヒント: ページ上のすべての a タグのテキストをすばやく変更する jQuery のヒント: ページ上のすべての a タグのテキストをすばやく変更する Feb 28, 2024 pm 09:06 PM

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

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

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

jQuery を使用してすべての a タグのテキスト コンテンツを変更する jQuery を使用してすべての a タグのテキスト コンテンツを変更する Feb 28, 2024 pm 05:42 PM

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

See all articles