DWZ+jQuery+Fileupload+SpringMVC实现文件上传与图片预览教程
"本文将介绍如何使用dwz、jQuery、fileupload和SpringMVC框架来实现文件上传和图片预览功能。" 在Web应用中,文件上传和图片预览是常见的需求,尤其在内容管理系统或者社交平台中。在这个示例中,我们将探讨如何通过一系列技术和工具来实现这一功能。 首先,`dwz`是一个基于jQuery的前端UI框架,它提供了丰富的交互效果和易于使用的API。`jQuery`则是一个广泛使用的JavaScript库,简化了DOM操作和事件处理。在这个场景中,它们用于实现用户友好的界面和交互效果。 文件上传部分,开发者选择了Apache的`fileupload`组件,这是一个强大的文件上传解决方案。`DiskFileItemFactory`被用来创建文件项,它会将上传的文件临时存储在服务器硬盘上。`ServletFileUpload`是处理HTTP请求中多部分/混合内容的核心类,负责解析请求并处理文件上传。设置`upload.setHeaderEncoding("utf-8")`是为了确保非ASCII字符的正确处理,避免编码问题。 在JSP页面中,可以看到以下代码: ```jsp <%@page contentType="text/html;charset=UTF-8"%> <%@page import="com.pdcss.bmxxfb.model.*"%> <%@include file="/commons/taglibs.jsp"%> ``` 这些指令定义了页面的编码、引入了模型类以及引用了自定义的标签库,可能是用于处理视图和业务逻辑的。 接下来,样式部分定义了一个名为`.perview`的类,用于展示图片预览。预览区域具有固定的宽度,白色背景,以及简洁的表格样式,方便图片展示。 对于JavaScript部分,引入了三个脚本文件: 1. `${ctx}/scripts/imgPreview/CJL.0.1.min.js`: 这可能是一个压缩过的JavaScript库,用于图片加载和处理。 2. `${ctx}/scripts/imgPreview/QuickUpload.js`: 快速上传功能的实现,可能包含了文件选择和上传的逻辑。 3. `${ctx}/scripts/imgPreview/ImagePreviewd.js`: 图片预览的具体实现,可能包含了图片显示、缩放等操作。 最后,JavaScript代码中有一个函数,用于处理文件上传后的回调。如果上传成功,该函数会关闭当前窗口并刷新主页面,更新已上传文件的列表。 总结来说,这个系统利用了dwz和jQuery来创建前端交互,使用Apache FileUpload组件处理文件上传,SpringMVC作为后端控制器进行业务处理,并通过JavaScript脚本实现图片的预览和上传反馈。这样的设计实现了用户友好的文件上传和实时图片预览功能,且具有良好的可扩展性和稳定性。
DiskFileItemFactory fac = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(fac);
upload.setHeaderEncoding( utf-8 );
JSP页面:
%@ page contentType= text/html;charset=UTF-8 %
%@page import= com.pdcss.bmxxfb.model.* %
%@ include file= /commons/taglibs.jsp %
style
.perview {width:200px;background:#fff;font-size:12px; border-collapse:collapse;}
.perview td, .perview th {padding:0px;border:0px;}
.perview th {background-color:#f0f0f0; height:20px;}
.perview a:link, .perview a:visited, .perview a:hover, .perview a:active {color:#00F;}
.perview table{ width:100%;border:1px solid #ccc;border-collapse:collapse;}
/style
script type= text/javascript src= ${ctx}/scripts/imgPreview/QuickUpload.js /script
script type= text/javascript src= ${ctx}/scripts/imgPreview/ImagePreviewd.js /script
script type= text/javascript
!--
//处理文件上传后的回调,如果成功,则关闭当前窗口,刷新index
function callback(flag,msg){
if(flag=='true'){
$( #pdtpNewForm ).parent().parent().hide();
navTab.reload('/bmxxfb/wzxxfbpdtp/manager');
}else{
alert(msg);
}
}
//提交之前检查各字段
function checkPdtpSubmit(){
var zzdm = $( #pdtpNewForm #zzdm );
if(zzdm.val().trim() == ){
alert( 组织代码不能为空! );
zzdm.focus();
return false;
}
var bmdm = $( #pdtpNewForm #bmdm );
if(bmdm.val().trim() == ){
alert( 组织代码不能为空! );
bmdm.focus();
return false;
}
var tpbt = $( #pdtpNewForm #tpbt );
if(tpbt.val().trim() == ){
剩余29页未读,继续阅读
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦