ASP.NET FileUpload控件的更改事件

时间:2014-08-21 12:28:41

标签: asp.net

我在使用FileUpload控件时遇到问题,我想验证图像长度,大小,格式等,并希望在成功验证后在ImageControl上显示它。这是通过另一个按钮点击事件完成的,但我希望在“浏览文件”窗口打开时在客户端的“OK / OPEN”和“CANCEL”按钮上完成此操作。请帮助。

1 个答案:

答案 0 :(得分:2)

我不知道为什么人们对这个问题投赞成票。这可能是一个愚蠢的问题,或者我没有得到足够的解释。对不起,我很抱歉。我找到解决方案的任何方式。

当用户从“浏览文件”对话框中选择FileUpload的图像文件时,我正在探索一个事件。

我的代码如下:

<asp:FileUpload ID="imgUpload" runat="server" CssClass="textfield" Width="200px" Height="24px" ToolTip="Browse patient image " />

<asp:ImageButton ID="imgBtn" runat="server" OnClick="imgBtn_Click" ImageUrl="~/IMAGES/Upload-icon.png" Height="24px" ToolTip="Upload patient image" />

上传意味着验证图像并将其放入Session变量并在Image控件上显示。稍后,当我单击“保存”按钮时,它会将Byte []数组保存到数据库中。

`

protected void imgBtn_Click(object sender, ImageClickEventArgs e)
    {
        Byte[] imgByte = null;
        const int PROD_IMG_MAX_WIDTH = 130;
        const int PROD_IMG_HEIGHT = 130;
        imgEmp.Visible = false;
        if (imgUpload.HasFile && imgUpload.PostedFile != null && IsFileValid())
        {
            HttpPostedFile File1 = imgUpload.PostedFile;
            imgByte = new Byte[File1.ContentLength];
            File1.InputStream.Read(imgByte, 0, File1.ContentLength);
            Session["binaryImage"] = imgByte;
            System.Drawing.Image UploadedImage = System.Drawing.Image.FromStream(imgUpload.PostedFile.InputStream);
            object o = UploadedImage.Size;
            if (UploadedImage.Width > PROD_IMG_MAX_WIDTH && UploadedImage.Height > PROD_IMG_HEIGHT && File1.ContentLength > 1048576)
            {
                DisplayMessage("Size of image is not correct!");
                Session["binaryImage"] = null;
                imgEmp.ForeColor = System.Drawing.Color.Red;
                imgEmp.Font.Size = FontUnit.Medium;
            }
            else
            {
                imgEmp.Height = 100;
                imgEmp.Width = 90;
                imgEmp.Visible = true;
                imgEmp.ImageUrl = "~/ADMIN/MASTERS/ImgDisp.aspx";
                ViewState["imgUploadedPhotoName"] = imgUpload.FileName;
            }
        }
        else
        {
            DisplayMessage("Browse valid image!");
            imgEmp.Visible = true;
        }
    }`

最后我添加了这个脚本

$(document).ready(function () { var labelID = $('#<%= imgUpload.ClientID %>');
var uploadBtnId = $('#<%= imgBtn.ClientID %>'); uploadBtnId.css('display','none'); labelID.bind('change', function () {
uploadBtnId.trigger('click'); }); })