-1

ファイルアップロードコントロールがありましたが、そのファイルは、メモリ制限(8 Mb)を下回っている場合にのみ添付されます。Ajaxを使用してファイルサイズを取得し、onchangeイベントで呼び出します。しかし、ファイルの添付を制限することはできません。誰か助けてもらえますか?

これはサンプルコードです

function a(obj) {
    if ($(obj).val() != '') {
        var request;
        var flag = false;
        request = $.ajax({
            type: "POST",
            url: 'CheckFileSize.aspx',
            data: "search=" + $(obj).val(),
            success: function (size) {
                if (parseFloat(size) < 8192) {
                    flag = true;
                }
                if (!flag) {
                    alert('File size is greater then 8 MB. The size of the file is ' + (parseFloat(size)) / 1024 + ' MB');

//ユーザーがアップロードできないようにするためにここにコードを入力します$(obj).val(null); }戻りフラグ; }}); }falseを返します。}

4

2 に答える 2

1

アップロードされたファイルを処理するサーバー側のメソッドで、次のコードを追加します。

        if (myFileUploadControl.HasFile)
        {
                int maxSize = Convert.ToInt32(ConfigurationManager.AppSettings.Get("MaxImageSize"));     //MaxImageSize specified in web.config file to make it easy to change.

                int imageSize = myFileUploadControl.PostedFile.ContentLength;
                if (imageSize > maxSize)
                {
                    string uploadImageError = "The selected file exceeds the maximum allowed size (" + maxSize / 1000 + "k)";  // Message to display to user.
                }
                else
                {
// Code to process the file here.
                }
        }

web.configファイルのsystem.webセクションに以下を追加すると、大規模なアップロードが受け入れられなくなります。

<!-- set max upload to 25 MB -->
<httpRuntime executionTimeout="300" maxRequestLength="25000"/>
于 2012-09-20T10:38:45.063 に答える
0

入力の値をクリアできるはずです-jQueryでは次のようになります

$('#fileInputId').val('')

于 2012-09-20T10:31:15.597 に答える