最近在用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
附件列表