Asp.net文件上传控件

时间:2012-09-20 10:28:35

标签: asp.net

我有一个文件上传控件我希望该文件仅在低于某些内存限制(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;     }

2 个答案:

答案 0 :(得分: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"/>

答案 1 :(得分:0)

你应该能够清除输入的值 - 在jQuery中它看起来像

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