Extjs显示图片

转自:http://blog.csdn.net/zljjava/article/details/23268661


Extjs并没有提供直接的组件来显示图片。网上通过设置textfield的InputType为Image然后再修改dom对象来实现,其实image的属性值并没有包含在Extjs的官方文档当中。可以通过以下的思路实现,更可以进一步扩展成自定义组件。推荐的方法如下:

1、首先做一个容器

Js代码   收藏代码
  1. {  
  2.     xtype: 'box'//或者xtype: 'component',  
  3.     width: 100, //图片宽度  
  4.     height: 200, //图片高度  
  5.     autoEl: {  
  6.         tag: 'img',    //指定为img标签  
  7.         src: 'myphoto.gif'    //指定url路径  
  8.     }  
  9. }  

 这样就在panel或者其他的容器里面显示图片了

2、图片的动态更新

 

Java代码   收藏代码
  1. //动态更新只需要获取到刚才建立的box的dom的src  
  2. myphoto.getEl().dom.src = newSrc  

 这样就实现了显示与动态更新


方案二:

使用以下扩展便可:

 

Js代码代码   收藏代码
  1. Ext.form.Myimg = Ext.extend(Ext.BoxComponent, {     
  2.     onRender : function(ct, position){     
  3.         if(!this.el){     
  4.             this.el = document.createElement('img');                 
  5.             this.el.src = this.src;     
  6.             if(this.forId){     
  7.                 this.el.setAttribute('htmlFor', this.forId);     
  8.             }     
  9.         }     
  10.         Ext.form.Label.superclass.onRender.call(this, ct, position);     
  11.     }     
  12. });    
  13. Ext.reg('myimg', Ext.form.Myimg);  

 

使用:

Java代码   收藏代码
  1. new Ext.form.Myimg  
  2. ({  
  3.     width : 120,  
  4.     height : 100,  
  5.     src:'uu.bmp'  
  6. }).render(Ext.getBody());  
  7.   
  8. //or  
  9.   
  10. {  
  11.      xtype : 'myimg',  
  12.      width : 120,  
  13.      height : 100,  
  14.      src:'uu.bmp'  
  15. }  


方案三:

xtype:'textfield',fieldLabel:'图片', 
width:130,height:114,style:'background-image:url(./1.jpg);background-repeat: no-repeat;',readOnly:true


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ExtJS 3.4 中实现批量图片上传可以通过以下步骤: 1. 创建一个文件上传表单 可以使用 Ext.form.Panel 组件创建一个包含文件上传字段的表单,例如: ``` var formPanel = new Ext.form.Panel({ renderTo: 'upload-form', fileUpload: true, items: [{ xtype: 'filefield', name: 'image', fieldLabel: 'Select an image', labelWidth: 100, allowBlank: false, buttonText: 'Browse...' }] }); ``` 2. 处理上传请求 在表单提交时,需要处理上传请求并将文件发送到服务器。可以使用 Ext.form.action.Submit 类来处理请求,例如: ``` formPanel.getForm().submit({ url: 'upload.php', // 上传文件的服务器端处理脚本 waitMsg: 'Uploading your image...', success: function(form, action) { Ext.Msg.alert('Success', 'Your image was uploaded successfully.'); }, failure: function(form, action) { Ext.Msg.alert('Failed', action.result.msg); } }); ``` 其中,url 参数为上传文件的服务器端处理脚本地址,waitMsg 参数为上传过程中显示的等待消息,success 和 failure 分别为上传成功和失败时的回调函数。 3. 处理上传文件 在服务器端处理上传文件时,可以使用 PHP、Java、Node.js 等语言和框架来实现。以下是一个 PHP 的示例代码: ``` <?php $uploadDir = 'uploads/'; $uploadFile = $uploadDir . basename($_FILES['image']['name']); if (move_uploaded_file($_FILES['image']['tmp_name'], $uploadFile)) { echo json_encode(array('success' => true)); } else { echo json_encode(array('success' => false, 'msg' => 'Failed to upload image.')); } ?> ``` 其中,$uploadDir 为上传文件保存的目录,$uploadFile 为上传文件的完整路径。move_uploaded_file 函数用于将上传的临时文件移动到目标位置。最后,使用 json_encode 函数将上传结果以 JSON 格式返回给客户端。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值