bboss mvc大文件上传及or mapping存储大文件机制详解

本文介绍使用BBoss MVC框架实现大文件上传的方法,包括JSP表单设计、jQuery EasyUI表单提交、MVC控制器处理及利用ORMapping机制存储文件。详细解释了DeskTopBackGround对象如何封装文件信息,并通过SQLExecutor持久化到数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

继续上两篇文章:
bboss mvc文件上传下载实战演练-[url]http://yin-bp.iteye.com/blog/1130035[/url]
bboss mvc文件上传下载实战进阶-[url]http://yin-bp.iteye.com/blog/1131637[/url]

本文着重介绍bboss mvc大文件上传和利用持久层的or mapping机制存储大文件功能介绍,切入正题

[size=medium][b]功能点说明:[/b][/size]
1.jsp form附件上传表单
2.jquery easyui 表单提交
3.mvc控制附件处理方法
4.绑定附件值对象
5.利用or mapping技术持久化附件信息和附件内容

大致流程如下:
通过将表单提交的附件信息传递给控制方法,mvc将表单数据以及附件信息封装到DeskTopBackGround对象中,利用持久层组件将该附件信息存储到数据库中。

下面逐一说明:

[size=medium][b]首先介绍各个层面都要用到的附件值对象[/b][/size]
public class DeskTopBackGround {	
private String cn_name;
private Timestamp creatdate;
private String filename;
@Column(type="blobfile")
private MultipartFile picture;
。。。//省略get/set方法
}


DeskTopBackGround 中的属性MultipartFile picture包含了附件信息和附件内容,需要注意的是,必须通过@Column(type="blobfile")注解说明附件类型,即是一个blob二进制附件还是一个clob文本附件,分别对应为:@Column(type="blobfile")和@Column(type="clobfile"),这样ormapping机制就能清楚地进行相应的处理。


[size=medium][b]jsp 附件上传表单[/b][/size]
 <form action=""  method="POST" id="addbackground" enctype="multipart/form-data">
<table>
<tr>
<td>
名称:<input type="text" name="cn_name" id="cn_name"/>
</td>
</tr>
<tr>
<td>
附件:<input type="file" name="picture" id="file" />
</td>
</tr>
<tr>
<td>
<input type="button" class="button" value="添加背景图片" onclick="addBackGround(this)" />
</td>
</tr>
</table>
</form>


jquery-easyui form表单提交操作:

 $("#addbackground").form('submit', {
"url": "uploadBackGround.page",//控制器请求url
onSubmit:function(){
//显示遮罩
blockUI();
},
success:function(responseText){
//去掉遮罩
unblockUI();
if(responseText == "success"){
$.messager.alert("提示对话框" , "附件上传成功!");
queryList();
}
else
$.messager.alert("提示对话框" , "附件上传失败:"+responseText);
}
});


[size=medium][b]mvc控制附件处理方法[/b][/size]
public  @ResponseBody String uploadBackGround( DeskTopBackGround bean)
{
try
{
bean.setFilename(bean.getPicture().getOriginalFilename());//设置附件名称到filename属性
bean.setCreatdate(new Timestamp(new Date().getTime()));//设置创建时间
String sql = "insert into td_sm_desktopstylecustom(filename,creatdate,cn_name,picture) values(#[filename],#[creatdate],#[cn_name],#[picture])";
SQLExecutor.insertBean(sql, bean);
return "success";
}
catch (Exception e)
{
return "fail:"+e.getMessage();
}

}


控制方法包含一个DeskTopBackGround bean参数,mvc框架根据表单的信息生成DeskTopBackGround 对象实例,uploadBackGround方法对该实例进行相应的处理后,通过持久层的or mapping接口存储到数据库表中:
SQLExecutor.insertBean(sql, bean);

然后将处理结果信息相应到客户端,客户端进行相应的提示:
$.messager.alert("提示对话框" , "附件上传成功!");


[size=medium][b]后记[/b][/size]
到此本文的正文内容就介绍完了,至于mvc配置文件和持久层数据源配置请参考博客中相关文章:
bboss mvc基础配置介绍-[url]http://yin-bp.iteye.com/blog/1139608[/url]
bbossgroups 开发系列文章之-最佳实践-[url]http://bbossgroups.group.iteye.com/group/wiki/3092-mvc-bboss-config[/url]
bboss persistent框架数据库连接池配置介-[url]http://yin-bp.iteye.com/blog/352599[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值