`
xaocaotanghui
  • 浏览: 55542 次
  • 性别: Icon_minigender_1
  • 来自: 广西
文章分类
社区版块
存档分类
最新评论

DWR + Ext的文件上传与下载

 
阅读更多

前台

用到的Ext组件

{
    xtype: 'fileuploadfield',
    width:300,
    flex: 1,
    emptyText: '请选择文件',
    fieldLabel: '请选择文件',
    allowBlank: false,
    id: 'import',
    fileTypes:['xlsx','xls'],
    name: 'importFile',
    buttonText: '浏览',
    vtype:'fileType'
         }

 

  此组件似乎没有校验文件后缀名的功能,需要自己校验,此处用xtype,如果用form的url提交,会显示自带的进度条,如果是用dwr异步提交,则不会显示了。

dwr异步提交的关键代码:

var fileValue=dwr.util.getValue("import-file");
vlanAdapter.uploadFiles(fileValue,function(data){
                     alert(data);
	   });

 后台:

Adapter中方法的定义:

 

public String uploadFiles(FileTransfer file){
         Workbook workbook=new HSSFWorkbook(file.getInputStream());
}

 下载部分:

后台adapter方法:

	public FileTransfer downLoadTemplate(){
		try {
//			BufferedInputStream in = new BufferedInputStream(new FileInputStream("C:/Users/tanghui/Desktop/模版.xlsx"));
//			String filePath=realPath+"service/template/模板.xlsx";
			String filePath = SystemRoot.getRootPathAsWebApp()+"service"+File.separator+"template"+File.separator+"模版.xls";
			filePath = filePath.replaceAll("/", File.separator+File.separator);
			File file = new File(filePath);
			BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));
			ByteArrayOutputStream out = new ByteArrayOutputStream();  
			byte[] temp = new byte[1024];  
			int size = 0;    
			while ((size = in.read(temp)) != -1)  
			{  
				out.write(temp, 0, size);  
			} 
			String  filename="模版.xls";
			return new FileTransfer(new String( filename.getBytes("GBK"),"iso8859-1" ), "application/vnd.ms-excel", out.toByteArray());  
		} catch (FileNotFoundException e){
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return null;
	}

 前台js

vlanAdapter.downLoadVlan(deviceName,ponName,cardId,{callback :function(data){
								dwr.engine.openInDownload(data)
							},async:false});

 

分享到:
评论

相关推荐

    ext 与 dwr 的结合

    在给定的文件名称列表中,"JavaSource"可能包含了EXT和DWR的Java后台代码,而"WebContent"可能包含了EXT的前端资源以及DWR的相关配置文件。开发者可以查看这些源代码来学习如何将EXT、DWR和Spring整合在一起,构建出...

    extjs+dwr3.0实现文件上传

    在“EXTJS+DWR3.0实现文件上传”这个主题中,我们将探讨如何结合这两者来实现一个高效且用户友好的文件上传功能。在实际的Web应用中,文件上传是一个常见的需求,例如在社交媒体平台上传图片、在文档分享网站上传...

    《ajax框架:dwr与ext》实战

    此外,DWR还支持二进制文件上传和下载等功能,这些特性使得开发者可以更加专注于业务逻辑的实现,而非底层通信细节。 #### 二、DWR快速入门 1. **安装与配置**: - 下载DWR最新版本,并将其添加到项目的lib目录中...

    EXT远程文件管理系统

    它提供了诸如网格面板、表单、窗口、菜单等组件,使用户可以方便地浏览、搜索、上传和下载文件。EXTJS的可定制性和灵活性使得界面既美观又高效,同时支持多种数据源,如JSON、XML或CSV。 DWR在系统中起到了桥梁的...

    AJAX技术实例,EXT框架,DWR框架

    **正文** ...AJAX确保了用户体验的流畅性,EXT提供了强大的前端组件和界面设计能力,而DWR则简化了服务器与客户端的通信。通过学习和掌握这些技术,开发者能够创建出更加先进和高效的Web应用程序。

    远程文件管理Ext.rar

    在"用Ext编写的远程文件管理.doc"文档中,可能会介绍如何使用ExtJS创建一个交互式的文件管理系统,包括文件的浏览、上传、下载、删除等功能,以及如何自定义各种组件,如树形视图(TreeField)来表示目录结构。...

    Ext 开发指南 学习资料

    4.9. 还要做文件上传哟 4.10. 非想非想,单选框多选框 4.10.1. 多选呢checkbox 4.10.2. 单选呢radio 4.11. 自动把数据填充到form里 5. 雀跃吧!超脱了一切的弹出窗口。 5.1. 呵呵~跳出来和缩回去总给人惊艳的感觉。 ...

    EXT2.0中文教程

    4.9. 还要做文件上传哟 4.10. 非想非想,单选框多选框 4.10.1. 多选呢checkbox 4.10.2. 单选呢radio 5. 雀跃吧!超脱了一切的弹出窗口。 5.1. 呵呵~跳出来和缩回去总给人惊艳的感觉。 5.2. 先看看最基本的三个例子...

    Ext.ux.form.UploadPanel.js

    好东西拿出来大家分享,可以用做多文件上传的组建

    Ext.data专题

    - **isUpload**: 布尔值,指示是否执行文件上传。 - **headers**: 自定义的HTTP头部。 - **xmlData**: XML数据,通过URL附加参数的方式发起请求。 - **disableCaching**: 布尔值,指示是否禁用缓存。 ##### 其他...

    java技术员必下的最强大的插件,搜索JSmart_1.3.1.jar(寻觅插件)然后下载

    文件太大,无法上传,请联系本人传输! 目前只有我这里提供JAR包下载和帮助文档,主要功能: QQ:510876005 电话0579-85298128 13045784345 组织:阿Q软件开发工作室 插件功能:快速开发JavaWeb程序 ...

Global site tag (gtag.js) - Google Analytics