none
在上传文件中如何控制上传文件大小 RRS feed

答案

  • 你好,

    据我所知你可以使用CustomValidator控件来实现控制上传页面的大小。

    并且在后台事件中检查FileUpload1.PostedFile.ContentLength的大小。

    具体你可以参考如下代码和链接:

    ASPX:

    <asp:FileUpload ID="FileUpload1" runat="server" />
    
    <asp:Button ID="btnUpload" Text="Upload" runat="server" /><br />
    
    <asp:CustomValidator ID="CustomValidator1" OnServerValidate="ValidateFileSize" ForeColor="Red" runat="server" />

    后台代码:

    protected void ValidateFileSize(object sender, ServerValidateEventArgs e)
    
    {
    
        System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream);
    
        int height = img.Height;
    
        int width = img.Width;
    
        decimal size = Math.Round(((decimal)FileUpload1.PostedFile.ContentLength / (decimal)1024), 2);
    
        if(size > 100)
    
        {
    
            CustomValidator1.ErrorMessage = "File size must not exceed 100 KB.";
    
            e.IsValid = false;
    
        }
    
        if (height > 100 || width > 100)
    
        {
    
            CustomValidator1.ErrorMessage = "Height and Width must not exceed 100px.";
    
            e.IsValid = false;
    
        }
    
    }

    https://msdn.microsoft.com/zh-cn/library/f5db6z8k.aspx

    • 已建议为答案 WeihanLee 2016年9月8日 16:39
    • 已标记为答案 Candy_H 2016年9月18日 5:25
    2016年9月7日 9:58