UploadFile控件,提交图片后,页面预览显示刚刚提交的图片

最近在用asp.net来写一个新闻系统后台,然后由于不用用网上的flash插件来上传图片什么的,我就用asp.net的控件来写,但是控件总归有一些用的不够灵活的地方。这次测试提出,文章在修改的时候,需要显示图片的预览图,以前之后一个UploadFile控件,是不支持预览图片的,这次为了解决预览的问题,就用了以下的方法,现在把思路和代码发上来,供大家参考,共同进步。

流程大概如下:

1、先在页面拖放一个UploadFile控件,然后再选择文件;
2、再拖放一个button控件,然后点击提交。
3、这时候,页面会把UploadFile的文件提交到后台,此时,文件已经被上传了。
4、然后页面会再次刷新,在刷新之前,提交的之后,我们只需要添加以下代码就足够了:
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            string strTitleName = txtTitle.Text.Trim();
            string strNewsPic = fileUploadPic.PostedFile.FileName;
            string strOldPic = imgPic.ImageUrl;
            if (!string.IsNullOrWhiteSpace(strNewsPic))
            {
                //上传文件到服务器 
                strNewsPic = strNewsPic.Substring(strNewsPic.LastIndexOf("\\") + 1);// 取出文件名的路径(不包括文件的名称) 
                string upload_pic = Server.MapPath("attached/") + strNewsPic;//取出服务器虚拟路径,存储上传文件 
                fileUploadPic.PostedFile.SaveAs(upload_pic);//开始上传文件 
            }
 
            string strContent = txtContent.Text.Trim();
 
            string strMsg;
            if (ModifyObject(strTitleName, strNewsPic, strContent, out strMsg))
            {
                id = Request.QueryString["id"];
                int iID = DataFormat.ConvertDBNullToInt32(id);
                newslist aNews = dataLoader.getNewsByID(iID);
                if (aNews != null)
                {
                    imgPic.ImageUrl = "/newsAdmin/attached/" + aNews.picPath;
                    txtTitle.Text = aNews.name;
                    txtContent.Text = aNews.content;
                }
                Response.Write("<script>alert('提交成功!')</script>");
                //Response.Write("提交成功!");
            }
            else
            {
                Response.Write("<script>alert('提交失败,请重试。')</script>");
                //Response.Write("提交失败,请重试。");
            }
            //Response.End();
        } 
 
对代码看不懂,建议下载附件来看,有完整代码。 附件如果未能正常上传,请在评论中留下邮箱,我看到后会发给您。。
 
好了,本次经验分享到此结束,转载请保留原作者地址以及姓名(本人无偿分享经验,有偿接单制作APP(基于MUI,HTML5+Webservice)和中小型管理系统(基于EasyUI,asp.net,例如项目管理,中介管理,公司内部管理系统、农家乐系统等。),有需要可以联系我。);
 
作者:南宫萧尘  
E-mail:314791147@qq.com
QQ:314791147
日期:2016-04-25

附件列表

 

posted @ 2016-04-25 10:21  南宫萧尘  阅读(2812)  评论(0编辑  收藏  举报