文件上传工具swfupload[转]
转至:http://zhangqgc.iteye.com/blog/906419
文件上传工具swfupload
示例:
1、JavaScript设置SWFUpload部分(与官方例子类似):
var upload;
window.onload = function() {
upload = new SWFUpload({
// 处理文件上传的url
upload_url: "${pageContext.request.contextPath}/swfupload/example.jsp?upload=1",
// 上传文件限制设置
file_size_limit : "10240", // 10MB
file_types : "*.jpg;*.gif;*.png", //此处也可以修改成你想限制的类型,比如:*.doc;*.wpd;*.pdf
file_types_description : "Image Files",
file_upload_limit : "0",
file_queue_limit : "1",
// 事件处理设置(所有的自定义处理方法都在handler.js文件里)
file_dialog_start_handler : fileDialogStart,
file_queued_handler : fileQueued,
file_queue_error_handler : fileQueueError,
file_dialog_complete_handler : fileDialogComplete,
upload_start_handler : uploadStart,
upload_progress_handler : uploadProgress,
upload_error_handler : uploadError,
upload_success_handler : uploadSuccess,
upload_complete_handler : uploadComplete,
// 按钮设置
button_image_url : "swfupload/xpbutton.png", // 按钮图标
button_placeholder_id : "spanButtonPlaceholder",
button_width: 61,
button_height: 22,
// swf设置
flash_url : "swfupload/swfupload.swf",
custom_settings : {
progressTarget : "fsUploadProgress",
cancelButtonId : "btnCancel"
},
// Debug 设置
debug: false
});
}
2、页面显示部分:
<div class="flash" id="fsUploadProgress"></div>
<div style="padding-left: 5px;">
<span id="spanButtonPlaceholder"></span>
<input id="btnCancel" type="button" value="取消" onclick="cancelQueue(upload);"
disabled="disabled" style="margin-left: 2px; height: 22px; font-size: 8pt;" />
</div>
3、Java处理文件上传部分:
String uploadSign = request.getParameter("upload");
String rootPath = request.getParameter("rootPath");
String path = request.getParameter("path");
if(rootPath == null) rootPath = "";
rootPath = rootPath.trim();
if(rootPath.equals("")){
rootPath = application.getRealPath("/swfupload/files");
}
if(path == null) {
path = rootPath;
}else{
path = new String(Base64.decodeBase64(path.getBytes()));
}
//上传操作
if(null != uploadSign && !"".equals(uploadSign)){
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
//upload.setHeaderEncoding("UTF-8");
try{
List items = upload.parseRequest(request);
if(null != items){
Iterator itr = items.iterator();
while(itr.hasNext()){
FileItem item = (FileItem)itr.next();
if(item.isFormField()){
continue;
}else{
//以当前精确到秒的日期为上传的文件的文件名
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddkkmmss");
String type = item.getName().split("\\.")[1];//获取文件类型
File savedFile = new File(path,sdf.format(new Date())+"."+type);
item.write(savedFile);
}
}
}
}catch(Exception e){
e.printStackTrace();
}
}
最新文章
- MRPT图形界面
- C#开发中Windows域认证登录2(扩展吉日嘎拉GPM系统)
- hdu----(4521)小明系列问题——小明序列
- Java——IO(输入输出流)
- 20150906VS小知识
- json 得到时分秒为00:00:00,拿不到时分秒 解决办法
- Qt之QHeaderView自定义排序(QSortFilterProxyModel)
- 使用AFNetworking进行图片上传
- CSS样式margin:0 auto不居中
- Mybatis JPA 代码构建
- 虹软人脸识别ArcFace2.0 Android SDK使用教程
- Vue(二十九)页面加载过慢问题
- excel数据导入mysql
- 【API】NetUserEnum-获取系统所有账户名称
- [php] cookie 跨域共享
- mysql 更新替换字符串
- Android-bindService本地服务-初步-Service返回对象
- SpringBoot之整合MyBatis
- 实现微信小程序支付
- [技巧篇]21.Android Studio的快捷键设置[图片版]
热门文章
- Oracle安装时忘记解锁scott用户的解决方案
- TDirectory.GetDirectoryRoot获取指定目录的根目录
- 让IIS识别PUT和DELETE请求
- java 集合(二)
- centos6.5搭建vpn服务器
- 【Tools】Pro Git 一二章读书笔记
- .h头文件、 .lib库文件、 .dll动态链接库文件之间的关系
- Ecmall系统自带的分页功能
- DataGridView 改变行列颜色
- ANDROID_MARS学习笔记_S05_001_用SensorManager获取传感器