简单快捷的实现图片上传预览效果

如何简单快捷的实现图片上传预览效果,想必这是绝大多数的c#新手遇到的一个小难题。
我学习c#也有一年的时间了,就把一个简单的方法给大家看看。

如下:
readAsDataURL()方法可以获取API异步读取的文件数据,另存为数据URL;将该URL绑定到img标签的src属性上,就可以实现图片的上传预览效果了:

  • readAsDataURL()是FileReader对象中的一个方法

看代码:

1.var imgaReaderI = new FileReader();
2.        regexImageFilter = /^(?:image\/bmp|image\/png|image\/jpeg|image\/jpg)$/i;
3.        imgaReaderI.onload = function (evt) {
4.            $("#IimgPicturer").attr("src", evt.target.result);
5.        }
6.        $("#fileImg").change(function () {
7.            var imgafFile = $("#fileImg").prop('files')[0];//prop添加属性名称
8.            //加载image标签中
9.            if (!regexImageFilter.test(imgafFile.type)) {
10.                layer.msg('选择的不是一个有效的图片文件', { icon: 0 });
11.            } //readAsDataURL()方法可以获取API异步读取的文件数据,另存为数据URL;将该URL绑定到img标签的src属性上,就可以实现图片的上传预览效果了。
12.            imgaReaderI.readAsDataURL(imgafFile);
13.        })
/^(?:image\/bmp|image\/png|image\/jpeg|image\/jpg)$/i; ——可以用这些格式的图片类型

而以上代码中注释的字体就是解析;
上面是视图的js代码,下面则是控制器所写的代码:

1.public ActionResult InsertModeofPayment(SYS_PaidType sysPaidType, HttpPostedFileBase fileImg)
2.        {
3.            string strMsg = "failed";
4.            try
5.            {
6.                //判断支付类型表中是否已经存在新增的支付信息
7.                var stuCount = (from tbPaidType in myModels.SYS_PaidType
8.                                where tbPaidType.PaidTypeID == sysPaidType.PaidTypeID ||
9.                                tbPaidType.PaidMC == sysPaidType.PaidMC
10.                                select tbPaidType).Count();
11.                if (stuCount == 0)
12.                {
13.                    SYS_PaidType dbPaidType = new SYS_PaidType();
14.                    dbPaidType.PaidMC = sysPaidType.PaidMC;
15.                    dbPaidType.Introduces = sysPaidType.Introduces;
16.                    dbPaidType.Status = "开启";
17.                    dbPaidType.WhetherAddition = "未添加";
18.                    dbPaidType.Expurgate = "未删除";
19.                    //声明一个byte[](字节型数组)来保存新增的图片
20.                    byte[] imgFile = null;
21.                    //判断传入的图片是否为空
22.                    if (fileImg != null && fileImg.ContentLength > 0)
23.                    {
24.                        //初始化数组的长度,为节省空间,长度由实际上传的图片的长度决定
25.                        imgFile = new byte[fileImg.ContentLength];
26.                        //读取该图片文件
27.                        //将图片转为流结束位置
28.                        //将流读取为byte[],参数:byte[],读取开始位置,读取字节数
29.                        fileImg.InputStream.Read(imgFile, 0, fileImg.ContentLength);
30.                    }
31.                    dbPaidType.PaidLogo = imgFile;
32.                    myModels.SYS_PaidType.Add(dbPaidType);33.                    myModels.SaveChanges();
34.                    strMsg = "success";
35.                }
36.                else
37.                {
38.                    strMsg = "该支付信息已经存在,不需要重复输入数据!";
39.                }
40.            }
41.            catch (Exception)
42.            {
43.                strMsg = "failed";
44.            }
45.            return Json(strMsg, JsonRequestBehavior.AllowGet);}

第19到28行便是图片所需的代码;


点击图片选择所需图片便可在页面是如下所示:

上图便是所浏览图片;

注:(页面里内容仅供参考,别无他用)

简单快捷的实现图片上传预览效果相关推荐

  1. JavaScript 图片上传预览效果

    图片上传预览是一种在图片上传之前对图片进行本地预览的技术. 使用户选择图片后能立即查看图片,而不需上传服务器,提高用户体验. 但随着浏览器安全性的提高,要实现图片上传预览也越来越困难. 不过群众的智慧 ...

  2. 简单的做一个图片上传预览(web前端)

    在做web项目很多的时候图片都是避免不了的,所以操作图片就成了一个相对比较棘手的问题,其实也不是说很麻烦,只是说上传然后直接预览的过程很恶心,今天简单的做一个处理. 效果预览: 代码: <!DO ...

  3. ASP.NET工作笔记之一:图片上传预览及无刷新上传

    转自:http://www.cnblogs.com/sibiyellow/archive/2012/04/27/jqueryformjs.html 最近项目里面涉及到无刷新上传图片的功能,其实也就是上 ...

  4. js实现图片上传预览及进度条

    js实现图片上传预览及进度条 原文js实现图片上传预览及进度条 最近在做图片上传的时候,由于产品设计的比较fashion,上网找了比较久还没有现成的,因此自己做了一个,实现的功能如下: 1:去除浏览器 ...

  5. JAVA实现一个图片上传预览功能

    这个小项目主要使用java实现了一个简单的图片上传预览功能,废话不多说,先上实现成果 ^ _ ^

  6. Angular6自定义指令实现多图片上传预览

    在做移动端开发多时候经常会遇到用户图片上传的需求,有单图片上传预览的需求,也有多图片上传预览的需求.自己刚遇到这个需求的时候有踩到各种个样到坑.经过多番尝试,下面将本人成功的一个案例分享出来(公司对外 ...

  7. php 图片上传预览(转)

    网上找的图片上传预览: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  8. java 图片上传 预览 demo_图片上传预览

    [实例简介] 实现图片上传预览,可以增加新的空数组,并上传和替换.还有删除功能:提交的时候,还可以判断是否有空的img [实例截图] [核心代码] 613ddc50-96b8-4197-ba2e-1e ...

  9. Bootstrap 3 : 图片上传预览 image upload preview

    头部均为: <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css" rel= ...

最新文章

  1. “那个工作 10 年没跳槽的人,混不下去了”
  2. asp.net里导出excel表方法汇总
  3. 在国内安装Pytorchy以及遇到的问题
  4. 理解 Delphi 的类(四) - 初识类的事件
  5. 芝麻HTTP:redis-py的安装
  6. 螺丝上的十字磨没了_十字起子和无限下拉菜单
  7. JS进阶之---函数,立即执行函数
  8. 手动构建磁贴服务器(16.04.2 LTS)
  9. java访问数据库方式_java数据库访问(二)—JDBC方式(配合连接池)
  10. Qt工作笔记-如何打包我们用 Qt 写的软件 - Linux 篇
  11. 日常护理常识以及化妆品的选购 - 健康程序员,至尚生活!
  12. python函数如何结束_如何在Python中结束函数
  13. Hadoop2 实战系列之1 -- Hortonworks Sandbox的安装和使用
  14. sql server cross/outer apply 用法
  15. SEO关键词优化 - 利用免费资源刷排名
  16. 算法竞赛入门经典第11章 无根树转有根树
  17. MB/T 2020/4/9-技术创新方法·概述
  18. 项目实战 - 使用Fiddler抓取bilibili安卓客户端口数据并分析(http、https)
  19. 算法比赛经历--蓝桥杯,天梯赛,力扣,牛客,cf,acwing,acm
  20. 浙江杭州工程师职称评审论文要求

热门文章

  1. SAP XI 常用事务代码
  2. libcef-在windows上如何编译?
  3. usaco 2008 oct water
  4. 8月!校招提前批的黄金期和末尾期!
  5. JSP CMS 管理系统
  6. 《设计模式与游戏完美开发》——第二周读书笔记
  7. Taro项目 实现一个在页面内自由拖拽的滑块,仿苹果手机的辅助按钮
  8. 线程同步和异步的区别
  9. DIOR HOMME_百度百科
  10. wsl set default version: 请启用虚拟机平台 windows 功能并确保在 bios 中启用虚拟化