ng2-file-upload是一个angular2的文件上传指令插件,可支持拖拽上传、单选上传、多选上传等功能,具体使用方法可去github查看。地址:https://github.com/valor-software/ng2-file-upload

FileReader是什么?

FileReader是一个可操作文件的web api,可以将用户选择的文件转行成所需格式的接口,例如二进制数据、Base64格式数据等。具体详情功能以及浏览器支持可查看Mozilla开发者中心。地址:https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader
在这里我们就需要把图片数据装换成Base64格式数据,直接插入img标签的src属性中。

FileReader.readAsDataURL(file)参数怎么获得

在这里我们可以直接使用插件所实例化的FileUploader对象取得用户上传的原始file对象。插件使用方法直接查看原文档。

注意:当使用插件在file_input change方法中获得FileUploader对象后,是无法直接访问JS原始File对象的,原始File对象存储在FileUploader的some属性中,但是这个属性是私有的,所以必须手动去修改一下插件的源码,将some属性的protected删掉。

我这里只使用到了单独上传的功能,因此我在file-item.class.d.ts中删除了对应字段的protected。

在view中插入对应的src即可


例如我这里的component所示,因为我是将用户每一次选择的图片都生成示例显示在页面中所以我使用数组去显示。

页面效果


这样不需要上传文件,也可以直接展示图片。

注意:使用这种方法时一定要考虑到浏览器是否支持FileReader接口,我这里是因为是一个后台使用到,不需要考虑除chrome外其他的浏览器,因此我可以直接使用。

Angular2 ng2-file-upload使用FileReader在网页中显示用户选择图片相关推荐

  1. 如何在微信分享的网页中显示描述和图片

    微信分享网页显示图片和标题隐藏网址 由于项目需要,需要在微信公众号中添加分享,显示图片和标题 这个分享是 需要jssdk 才能 展示图片 和 标题的 开发文档 https://developers.w ...

  2. 在html中加入pdf文件吗,如何在网页中显示PDF文件

    我们是不是对百度文库能直接在网页上显示PDF文件感到好奇,你是否也想实现这样的功能?很多朋友认为可以直接在网页中插入代码就可以实现这个功能,其实要在网页中完整地显示PDF文件,需要把PDF文件转换成S ...

  3. 将VS2005中的.CS文件在网页中显示的方法

    今天在做AccessMembershipProvider的DEMO时,想把支持Access数据库提供程序的源码在网页中显示出来,可是复制源码后在网页中显示的是不换行的,后来我在尝试了很多办法后,终于有 ...

  4. html网页中显示乱码的问题解决

    在网页中显示中文乱码. 情景: 在html页面写了个javacript的代码,里面有alert("中文"),但弹窗出来的对话框显示的是中文乱码. 解决: 在head头加 <m ...

  5. Ifvisible.js – 判断网页中的用户是闲置还是活动状态

    ifvisible.js 是一个跨浏览器.轻量级的方式,用户检查用户在浏览页面或正在与它进行交互.它可以处理活动状态,如在页面上空闲或活跃.您还可以使用 ifvisible.js 智能设置您的间隔,如 ...

  6. 非常好的在网页中显示pdf的方法

    今天有一需求,要在网页中显示pdf,于是立马开始搜索解决方案,无意中发现一个非常好的解决方法,详见http://blogs.adobe.com/pdfdevjunkie/web_designers_g ...

  7. 网页中显示xml,直接显示xml格式的文件

    第一种方法 使用<pre></pre>包围代码(在浏览器中测试不行啊,但是在富编辑器中又可以,怪): 使用<xmp></xmp>包围代码(官方不推荐,但 ...

  8. html显示docx,网页中显示PDF的HTML代码.docx

    网页中显示PDF的HTML代码 您可能想打开文档至某一特别页面或目标,或显示书签.要与 链接一起放入一个动作命令,可紧接在 PDF 文件名后面键入数字符号 (#) 和该命令.以下表格显示可能的动作命令 ...

  9. 在html中显示word,如何在浏览器网页中显示word文件内容

    把word文件读到byte[]中,再Response.OutputStream.Write(bytes)到客户端去 Page_Load事件中写: //FileStream   fs   =   new ...

最新文章

  1. labelme数据增强_NO. 21 标注工具 amp; 合成数据生成工具
  2. c语言解析json数据
  3. 二层及三层MTU浅析
  4. 品牌管理-JSR303数据校验
  5. middlegenidenbsp;nbsp;eclipsenbsp;的插件
  6. 小猿圈之java文件重命名
  7. django-模板语言-判断语句
  8. 房友系统服务器地址,房友系统的那些功能,你都知道吗?
  9. 强大的支持多文件上传的jQuery文件上传插件Uploadify
  10. 解决win10安装portal v13/v15要求反复重启问题
  11. dws中间表模型设计: 页面受访明细宽表
  12. vulhub nginx insecure-configuration
  13. SQL Server 2022 CPT 2.0 下载
  14. 00900网页设计与制作多选题
  15. configmapsecrets基本操作
  16. 【Python入门】:字典与集合
  17. git重置commit时的注释
  18. 使用mongoDB的一些新的(mongoDB报错解决)
  19. mybatis报错:argument type mismatch
  20. excel中批量自动生成一个月内日期和时间

热门文章

  1. 饿了么和汉堡王打通会员体系,联合会员模式受商家追捧!
  2. 官方名人堂?腾讯推出声望值系统,记录玩家的游戏历程
  3. 用python爬取3dm上的单机游戏评测信息
  4. Vue计算属性(computed)和侦听器(watch)
  5. JMeter鼠标右键没反应报错:Uncaught exception: java.lang.NoClassDefFoundError...
  6. 渗透杂记-2013-07-13
  7. QQ群聊天记录分析器
  8. 洛谷题解——P2814 家谱
  9. 【UnityShader】常用效果内外发光、 描边
  10. 项目一 —— 项目七