当前位置: 首页 > news >正文

extjs上传图片预览

EXTJS图片上传预览(含本地上传前预览和服务器图片预览)

创建EXTJS组件

复制代码

 1 //生成messagePanel
 2     createMessagePanel:function(){
 3         return Ext.create('Ext.panel.Panel',{
 4             itemId:'compPanel',
 5                 layout:'anchor',
 6                 autoScroll:true,
 7                 border:false,
 8             items: [
 9                 {layout:'column',border:false,anchor:'-20',items:[
10                     {
11                         columnWidth:1,
12                         layout:'form',
13                         border:false,
14                         items:[{
15                             xtype: 'textfield',
16                             itemId: 'upload_image',
17                             id: 'upload_image',
18                             name: 'file',
19                             inputType: 'file',
20                             fieldLabel: '上传照片',    
21                             emptyText : '选择文件存放路径',
22 //                            allowBlank: false,
23                             listeners: {
24                                 'render': Ext.bind(this.onShowImg, this)
25                             }
26                         }]
27                     }                                              
28                 ]},
29                 {layout:'column',border:false,anchor:'-20',items:[
30                     {
31                         columnWidth:.25,
32                         layout:'form',
33                         border:false,
34                         items:[{
35                             xtype: 'panel',
36                             border:false
37                         }]
38                     },                                             
39                     {
40                         columnWidth:.75,
41                         layout:'form',
42                         border:false,
43                         items:[{
44                             xtype: 'box',
45                             itemId: 'imageShow_box',
46                               autoEl: {   
47                                    width: 100,
48                                    height: 100,
49                                    tag: 'img',   
50                                    type: 'image',   
51                                    src: 'images/nofoundimage.png',
52                                    style: 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);width:160px;height:160px;text-align:center;',                           
53                                    complete: 'off'
54                                }
55                         }]
56                     }
57                 ]},
58                 {layout:'column',border:false,anchor:'-20',items:[
59                         {
60                             columnWidth:1,
61                             layout:'form',
62                             border:false,
63                             items:[{
64                                 xtype:'textarea',
65                                    width:'100%',
66                                    itemId:'content',
67                                    fieldLabel:'内容',
68                                    name:'content',
69                                    height:75
70                             }]
71                         }                                              
72                     ]}
73             ]
74         });
75     },

复制代码

本地上传前预览

复制代码

 1 onShowImg: function(){//图片预览
 2         var formPanel = this.formPanel;    
 3         var uploadImage = formPanel.down('textfield[itemId=upload_image]');
 4         uploadImage.on('change', function(e, t, eOpts){
 5             //上传图片类型,在前台的拦截
 6             var img_reg = /\.([jJ][pP][gG]){1}$|\.([jJ][pP][eE][gG]){1}$|\.([gG][iI][fF]){1}$|\.([pP][nN][gG]){1}$|\.([bB][mM][pP]){1}$/;
 7             //得到选择的图片路径   
 8             var path = uploadImage.getValue();
 9             if(path!=null && !Ext.isEmpty(path)) {
10                 var url = "file://" + path;
11                  //是否是规定的图片类型   
12                  if (img_reg.test(url)) {
13                      var imageShow_box = formPanel.down('box[itemId=imageShow_box]');    //预览的图片框对象
14                      if (Ext.isIE) {//IE浏览器
15                          var imageShow_box_dom = imageShow_box.getEl().dom;
16                         imageShow_box_dom.src = Ext.BLANK_IMAGE_URL;// 覆盖原来的图片   
17                         imageShow_box_dom.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = url; 
18                     } else {
19                         var file = uploadImage.inputEl.dom.files[0];
20                         var imageShow_box_dom = imageShow_box.getEl().dom;
21                           imageShow_box_dom.src = window.URL.createObjectURL(file);
22                     }
23                 } else {
24                      Ext.Msg.alert('提示','请选择图片类型的文件!');
25                  }
26             }             
27         }, this);
28     }

复制代码

服务器图片预览

path形式:http://192.168.9.6/em/keer/emassage/1.jpg

1 if (Ext.isIE) {//IE浏览器
2   imageShow_box_dom.src = Ext.BLANK_IMAGE_URL;// 覆盖原来的图片   
3   imageShow_box_dom.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = path; 
4 } else {
5    imageShow_box_dom.src = path;
6 }

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • MyEclipse 设置
  • Scanner与BufferReader的区别
  • Android各种荧幕分辨率
  • MD5在java中的使用
  • android sqlite3 adb
  • android ADB常用的命令
  • Android中自定义ViewGroup
  • jstl学习
  • Eclipse中java文件和jsp字体大小设置
  • mysql卸载
  • 长连接与短连接
  • 我的工具连接
  • mongodb 安装配置
  • nginx 安装配置
  • Win7 家庭版远程连接问题
  • Angular 2 DI - IoC DI - 1
  • co.js - 让异步代码同步化
  • gf框架之分页模块(五) - 自定义分页
  • JavaScript实现分页效果
  • LintCode 31. partitionArray 数组划分
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Xmanager 远程桌面 CentOS 7
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 反思总结然后整装待发
  • 解析 Webpack中import、require、按需加载的执行过程
  • 聊聊flink的TableFactory
  • 浏览器缓存机制分析
  • 目录与文件属性:编写ls
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 协程
  • 栈实现走出迷宫(C++)
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • ​补​充​经​纬​恒​润​一​面​
  • ​学习一下,什么是预包装食品?​
  • # Java NIO(一)FileChannel
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (8)STL算法之替换
  • (AngularJS)Angular 控制器之间通信初探
  • (C++)八皇后问题
  • (Python第六天)文件处理
  • (二十九)STL map容器(映射)与STL pair容器(值对)
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (南京观海微电子)——COF介绍
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • ***检测工具之RKHunter AIDE
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .Net - 类的介绍
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .Net小白的大学四年,内含面经