第一种方法:传统的上传方式
在formpanal中增加一个fileUpload的属性,
Ext.onReady(function(){
var form = new Ext.form.FormPanel({
renderTo:'file',
labelAlign: 'right',
title: '文件上传',
labelWidth: 60,
frame:true,
url: '../UpLoadServlet',//fileUploadServlet
width: 300,
height:200,
fileUpload: true,
items: [{
xtype: 'textfield',
fieldLabel: '文件名',
name: 'file',
inputType: 'file'//文件类型
}],
buttons: [{
text: '上传',
handler: function() {
form.getForm().submit({
success: function(form, response){
Ext.Msg.alert('信息', response.result.msg);
},
failure: function(){
Ext.Msg.alert('错误', '文件上传失败');
}
});
}
}]
});
});
第二种方法:借助Ext.ux.UploadDialog.Dialog的组件,在编码时需要导入两个文件
<link rel="stylesheet" type="text/css" href="../../../js/extjs/UploadDialog/css/Ext.ux.UploadDialog.css" />
<script type="text/javascript" src="../../../js/extjs/UploadDialog/Ext.ux.UploadDialog.packed.js"></script>
组件的使用发放如下
var dialog = new Ext.ux.UploadDialog.Dialog({
autoCreate: true,
closable: true,
collapsible: false,
draggable: true,
minWidth: 400,
minHeight: 200,
width: 400,
height: 350,
permitted_extensions:['JPG','jpg','jpeg','JPEG','GIF','gif','xls','XLS'],
proxyDrag: true,
resizable: true,
constraintoviewport: true,
title: '文件上传',
url:'../UpLoadServlet',
reset_on_hide: false,
allow_close_on_upload: true ,
upload_autostart: false
});
//定义上传文件的按钮
var btnShow = new Ext.Button({
text:'上传文件',
listeners:{
click:function(btnThis,eventobj){
dialog.show();
}
}
});
在使用此方法进行文件上传时,其后台往页面的返回值类型是这样的:
{'success':true,'message':'上传成功'}
如果没有success:true,无论上传成功与否,显示的都是上传失败,其实这个和form.submit()的提交方式是一个道理。
后台就是最为普通的文件上传操作,还是附上代码吧,我用的是JspSmartUpload的上传组件,网上很多,建议下载个经过"汉化"的组件,因为官方的组件对于文件名为中文的上传不太支持,会出现乱码
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//往页面上传值
String mess="";
SmartUpload su = new SmartUpload();
try {
//初始化操作
su.initialize(this.getServletConfig(),request,response);
su.upload();
com.jspsmart.upload.File file = su.getFiles().getFile(0);
//获得上传的文件另存的路径
String uploadPath=request.getParameter("uploadPath");
//创建保存上传文件的文件夹
java.io.File f = new File(uploadPath) ;
if(!f.exists()){
f.mkdir();
}
file.saveAs(file.getFileName());
mess="{'success':true,'message':'上传成功'}";
}
catch(Exception e){
e.printStackTrace();
mess="{'success':true,'message':'上传失败'}";
}
PrintWriter pw=response.getWriter();
System.out.println(mess);
pw.println(mess);
pw.flush();
pw.close();
}
文件上传的后台代码与普通的JSP+JAVABEAN+SERVLET上传操作几乎没有改动,大家只需要把前台的上传功能做好就OK了
本人也是刚开始学习ExtJs,参看了很多的资料,最后附上官方的实例demo
http://dev.sencha.com/deploy/dev/examples/form/file-upload.html
分享到:
相关推荐
本篇文章将详细介绍如何针对ExtJS 3.x版本定制和优化一个名为`UploadDialog`的多文件上传组件。 #### 关键技术点 1. **ExtJS 3.x兼容性** - 在ExtJS 2.x版本中实现的多文件上传功能通常无法直接应用于3.x版本。 ...
总之,`Ext.ux.UploadDialog`是一个强大且易于使用的文件上传解决方案,它结合了ExtJS的灵活性和易用性,为开发者提供了构建高效、用户友好的文件上传功能。无论是在企业级应用还是个人项目中,它都是一个值得考虑的...
在前端,ExtJS 3.x提供了`UploadDialog`组件,用于实现多文件上传。这个组件通常包含一个文件选择器,用户可以选取多个文件,然后通过异步方式提交到服务器。在`UploadDialog`中,我们可以设置监听事件来跟踪文件...
通过"UploadDialog"这个压缩包,你可以获取到EXTjs的上传对话框组件,将其整合到你的项目中,快速实现文件上传功能,提升应用的交互性和功能完整性。记得在实际使用时,根据项目的具体需求对UploadDialog进行适当的...
在本文中,我们将深入探讨如何使用ExtJS的UploadDialog插件与Struts2.0框架相结合,实现一个功能完备的多文件上传功能。这是一项在Web应用开发中常见的需求,对于用户交互性和数据管理有着重要作用。 首先,让我们...
2. **进度条显示**:在文件上传过程中,组件会显示每个文件的上传进度,使用户了解当前上传状态,增强用户体验。 3. **错误处理**:当某个文件上传失败时,组件通常会提供错误提示,并允许用户重新上传失败的文件,...
总的来说,"struts+extjs实现UploadDialog"涉及到的技术点包括Struts的MVC架构、文件上传处理、ExtJS的组件模型、Ajax通信以及前后端交互的协调。理解并掌握这些知识点对于开发高效、用户体验良好的Web应用至关重要...
UploadDialog是ExtJS中一个组件,用于实现文件上传功能,通常与表单配合使用,为用户提供友好的界面交互。在ExtJS 2.x版本中,UploadDialog已经被广泛使用,但随着版本升级,对于ExtJS 3.2.1这样的较新版本,官方并...
本文将深入探讨“ext多文件上传控件Ext.ux.UploadDialog”的使用方法及其常见问题。该控件作为ExtJS库的一个扩展,为用户提供了一种方便的多文件选择和上传的界面。 首先,Ext.ux.UploadDialog是一个基于ExtJS框架...
在IT行业中,网页开发经常会遇到文件上传的需求,而"jSP+EXTJS实现upload UploadDialog"就是一种常见的解决方法。这个话题主要涵盖了两个关键部分:JavaServer Pages (JSP) 和 ExtJS,它们共同用于创建一个具有文件...
Ext.ux.UploadDialog批量上传文件实例是一个基于ExtJS组件库扩展插件的文件上传解决方案,主要针对需要一次性处理多个文件上传的应用场景。ExtJS是一个强大的JavaScript框架,它提供了丰富的用户界面组件,而Ext.ux....
在Web开发中,文件上传功能是常见的需求之一,而ExtJS 提供了丰富的组件和API来实现这一功能。本实例聚焦于利用ExtJS进行文件上传操作,结合了JavaScript、Apache服务器以及两个关键的Java库:Commons IO和Commons ...
"Ext.ux.UploadDialog3.0"标签表明这是一个基于EXT(ExtJS)框架的文件上传插件,ExtJS是Sencha公司开发的一个用于构建富互联网应用(RIA)的JavaScript库。UploadDialog组件通常提供一个用户友好的界面,允许用户...
"UploadDialog"这个名字暗示了一个专门用于文件上传的对话框组件。这个组件可能包含了文件选择、预览、上传控制、进度反馈等功能。它可能利用了HTML5的File API来处理文件选择和上传,同时也可能使用Ajax技术实现...
综上所述,"UploadDialog"是一个使用ExtJS创建的无插件多文件上传对话框,它结合了HTML5 File API、ExtJS组件模型和异步传输技术,为用户提供了一种便捷且高度可定制的文件上传解决方案。在实际项目中,开发者可以...
Ext.ux.UploadDialog是Ext 2.0框架中的一个扩展组件,主要用于实现用户友好的文件上传功能。在Web开发中,文件上传是一个常见的需求,而ExtJS作为一个强大的JavaScript库,提供了丰富的组件和功能来帮助开发者构建...
Ext.ux.UploadDialog是一个第三方扩展,它为ExtJs提供了一个交互式的文件上传对话框,而FTP则是一种广泛用于在网络上进行文件传输的标准协议。 1. **Ext.ux.UploadDialog**:这个组件是ExtJs生态系统中的一个插件,...
EXT3.0引入了UploadDialog组件,为开发者提供了一个优雅的解决方案,使得在Web应用中处理文件上传变得更加简单和直观。 UploadDialog.js是这个功能的核心文件,它包含了EXT3.0文件上传对话框的具体实现。这个组件...
Ext.ux.UploadDialog是一款在ExtJS框架下使用的扩展组件,它提供了一种用户友好的文件上传界面和功能。这个组件通常被用于Web应用程序,让用户能够方便地上传文件到服务器,而无需离开当前页面或者打开新的浏览器...