最近在用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