最近在用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. Sublime Text3配置在可交互环境下运行python快捷键

    安装插件 在Sublime Text3下面写代码感觉很不错,但是写Python的时候遇到了一些问题. 用Sublime Text3打开python文件,或者在Sublime Text3下写好pytho ...

  2. 深入理解C#

    简单认识.NET框架    (1)首先我们得知道 .NET框架具有两个主要组件:公共语言进行时CLR(Common Language Runtime)和框架类库FCL(Framework Class ...

  3. 当忘记mysql数据库密码时如何进行修改

    因为长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件 ...

  4. BootStrap_02之全局样式及组件

    1.BootStrap指定的四种屏幕尺寸: ①超大PC屏幕--lg(large):w>=1200px: ②中等PC屏幕--md(medium):1200px>w>=992px: ③P ...

  5. nginx+php的使用

    原文来自:windows下配置nginx+php环境 按照他的步骤走,亲测可用! 但是这里他后面说的根目录可能有些人有点懵. 其实在设置的时候就设置了: 网站根目录就是www这个目录,如果没创建请自行 ...

  6. dubbox微服务实例及引发的“血案”

    Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成. 主要核心部件: Remoting: 网络通信框架 ...

  7. pt-mext

    pt-mext实现的功能比较简单,就是将mysqladmin输出的多次迭代的相同status变量值放到同一行输出. 参数很少,除了--help和--version外,只有一个--relative参数 ...

  8. XSS分析及预防

    XSS(Cross Site Scripting),又称跨站脚本,XSS的重点不在于跨站点,而是在于脚本的执行.在WEB前端应用日益发展的今天,XSS漏洞尤其容易被开发人员忽视,最终可能造成对个人信息 ...

  9. 负载均衡——nginx理论

     nginx是什么? nginx是一个强大的web服务器软件,用于处理高并发的http请求和作为反向代理服务器做负载均衡.具有高性能.轻量级.内存消耗少,强大的负载均衡能力等优势.  nginx架构? ...

  10. ASP.NET Aries 3.0发布(附带通用API设计及基本教程介绍)

    主要更新: 1:升级处理机制(js请求由同步变更为异步) 2:优化前端JS:包括API和配置方式. 3:增加InputDialog功能. 4:增远远程验证功能. 5:优化权限安全机制. 6:增加一次请 ...