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

附件列表

UploadFile控件,提交图片后,页面预览显示刚刚提交的图片的更多相关文章

  1. html file控件选择文件后立即预览 js实现

    //上传图片后立即预览 file对象,图片容器id function showImg(fileObj,imgId) { var file=fileObj.files[0]; var r = new F ...

  2. FileUpload控件实现单按钮图片自动上传并带预览显示

    FileUpload控件实现单按钮图片自动上传并带预览显示 1.实现原理:   FileUpload控件默认不支持服务端的ONCHANGE事件,此时用一种变通的方法借用客户端的onchange事件,调 ...

  3. Asp.net实现同页面内多图片自动上传并带预览显示

    FileUpload控件实现单按钮图片自动上传并带预览显示 1.实现原理: 此方法适合针对有后台生成的图片相关内容,例如购物网站商品展示页面中的封面图片,图片的数量由后台访问数据库,并加载到页面.这种 ...

  4. Windows Phone 如果你把Pivot控件当成主页面,那么这篇文章你值得看。

    原文:Windows Phone 如果你把Pivot控件当成主页面,那么这篇文章你值得看. 现在很多App都用到了Pivot视图 来当作 整个App主页面.如果你的Pivot视图主页面承载了大量数据的 ...

  5. IE11浏览器中的My97日历控件刷新后无法打开问题解决办法

    IE11浏览器中的My97日历控件刷新后无法打开问题解决办法   IE11浏览器中的My97日历控件刷新后无法打开问题解决办法:(谷歌浏览器下正常.IE11失效) 解决办法:1:找到WdatePick ...

  6. WPF保存包含Winform控件的XAML页面问题

    原文:WPF保存包含Winform控件的XAML页面问题 最近的工作中,用到了WPF调用Winform控件 但是在保存XAML页面的时候发现了问题,就是Winform页面黑黑的,没有任何渲染的波形曲线 ...

  7. kendo UI 倒如css 和 js 后 窗口控件上的工具栏图标不显示如何解决

    examples 文档中找到window的例子打开一个 查看其中文件引入 <head>    <title>API</title>    <meta char ...

  8. 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_13-课程预览功能开发-CMS页面预览接口测试

    5.2 CMS页面预览测试 CMS已经提供了页面预览功能,课程预览功能要使用CMS页面预览接口实现,下边通过cms页面预览接口测试课 程预览的效果. 1.向cms_page表插入一条页面记录或者从cm ...

  9. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_24-页面预览-页面预览测试

    通过nginx转发到预览的地址 重启nginx 添加页面预览按钮 调整下列表的列的宽度

随机推荐

  1. LINUX篇,设置MYSQL远程访问实用版

    每次设置root和远程访问都容易出现问题, 总结了个通用方法, 关键在于实用 step1: # mysql -u root mysql mysql> Grant all privileges o ...

  2. 一次修改闭源 Entity Provider 程序集以兼容新 EntityFramework 的过程

    读完本文你会知道,如何在没有源码的情况下,直接修改一个 DLL 以去除 DLL 上的强命名限制,并在该程序集上直接添加你的“友元程序集(一种特殊的 Attribute,将它应用在程序集上,使得程序集内 ...

  3. javascript:逆波兰式表示法计算表达式结果

    逆波兰式表示法,是由栈做基础的表达式,举个例子: 5 1 2 + 4 * + 3 -  等价于   5 + ((1 + 2) * 4) - 3 原理:依次将5 1 2 压入栈中, 这时遇到了运算符 + ...

  4. Web安全相关(五):SQL注入(SQL Injection)

    简介 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据 ...

  5. [原] KVM 虚拟化原理探究(3)— CPU 虚拟化

    KVM 虚拟化原理探究(3)- CPU 虚拟化 标签(空格分隔): KVM [TOC] CPU 虚拟化简介 上一篇文章笼统的介绍了一个虚拟机的诞生过程,从demo中也可以看到,运行一个虚拟机再也不需要 ...

  6. VS2015常用快捷键总结

    生成解决方案 F6,生成项目Shift+F6 调试执行F5,终止调试执行Shift+F5 执行调试Ctrl+F5 查找下一个F3,查找上一个Shift+F3 附加到进程Ctrl+Alt+P,逐过程F1 ...

  7. 程序员必须要知道的Hadoop的一些事实

    程序员必须要知道的Hadoop的一些事实.现如今,Apache Hadoop已经无人不知无人不晓.当年雅虎搜索工程师Doug Cutting开发出这个用以创建分布式计算机环境的开源软...... 1: ...

  8. Android的Kotlin秘方(II):RecyclerView 和 DiffUtil

    作者:Antonio Leiva 时间:Sep 12, 2016 原文链接:http://antonioleiva.com/recyclerview-diffutil-kotlin/ 如你所知,在[支 ...

  9. MongoDB常用操作--集合1

    1.创建集合有两种方式,显示创建和隐式创建 显示创建可以使用命令 db.createCollection("集合名称") 隐式创建可以使用命令 db.集合名称.insert({}) ...

  10. 我的MYSQL学习心得(十五) 日志

    我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...