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

附件列表

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM