easyui-filebox java上传附件,在EasyUI项目中使用FileBox控件实现文件上传处理

本文档详细介绍了如何在EasyUI项目中使用FileBox控件结合Ajax实现Java文件上传,包括前端页面代码和后端C#处理代码。通过FileBox控件,利用FormData对象进行文件信息传递,支持单文件和多文件上传,同时展示了删除文件和显示已上传文件列表的功能。文章提供了完整的前端JS逻辑和后端C#处理方法。
摘要由CSDN通过智能技术生成

我在较早之前的随笔《基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用》Web框架介绍中介绍了基于Uploadify的文件上传操作,免费版本用的是Jquery+Flash实现文件的上传处理,HTML5收费版本的没有试过。随着Flash逐渐退出整个环境,很多浏览器都可能不再支持Flash的了,因此在更新原有EasyUI整个框架的时候,我们对框架全面进行了完善,包括替换了这个Uploadify的文件上传模块,使用EasyUI内置的FileBox控件,结合Jquery的Ajax操作,我们就可以实现了单文件或者多文件的上传操作了。本篇随笔就主要基于这个主题,介绍基于FileBox控件实现文件上传处理,包括前端页面代码和后端的C#处理代码的操作。

1、FileBox控件的使用

FileBox控件原理上是一个TextBox控件和隐藏的一个File控件,因此对于TextBox控件的变化时间onchange依旧可以使用,而由于其隐藏了File控件,那么需要根据DOM规则获取其下面的File控件,从而可以获得文件列表进行Ajax的上传操作,同时由于File文件是一个特殊的内容,我们在上传的时候,使用了JS的FormData对象容器来进行承载文件信息和其他信息,从而能够顺利把文件及其他内容信息一并通过AJax调用,上传到后台去处理。

按照官方的示例,其实就是定义一个HTML元素,并通过脚本方式初始化对应的样式和事件即可,如下所示。

//初始化脚本

$('#fb').filebox({

buttonText: '选择文件',

buttonAlign: 'left'

})

这样就可以了。

我们来看看我的实际案例,一般需要上传附件的地方,包括导入Excel文件的记录,或者上传文件作为记录的附件,前者一般是单文件的方式,一次导入一个Excel文件,并加载Excel进行展示,如下所示。

b455cf9d8646

image

文件控件的部分代码如下所示

Excel导入操作

和前面Demo的定义类似,这里只是声明了一个FileBox控件,主要还是通过JS代码来进行初始化,和相关的控制。

$(function () {

//添加对话框,上传控件初始化

$('#file_upload').filebox({

buttonText: '选择文件', //按钮文本

buttonAlign: 'right', //按钮对齐

//multiple: true, //是否多文件方式

//accept: "image/gif,image/bmp,image/jpeg,image/jpg,image/png", //指定文件类型

onChange: function (e) {

UploadFile(this, "file_upload", "AttachGUID", "div_files");//上传处理

}

});

});

通过JS的控制,就可以较好的呈现文件上传的控件了,比不用EasyUI的样式好看很多。

b455cf9d8646

image

通过onchange的控制,可以对文件操作及时进行响应,如我这里选择文件后,马上进行上传,并进行数据的读取和显示在Datagrid里面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值