SWFUpload简单使用样例 Java版(JSP)
SWFUpload官方的样例都是PHP的,在这里提供一个Java版的最简单的使用样例,使用JSP页面完毕全部操作。
实现上传,分为三步:
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();
- }
- }
SWFUpload简单使用样例 Java版(JSP)的更多相关文章
- Introspector(内省)简单演示样例 与 简单应用
简单演示样例: package com.asdfLeftHand.test; import java.beans.BeanDescriptor; import java.beans.BeanInfo; ...
- JBoss 系列九十六:JBoss MSC - 简介及一个简单演示样例
什么是 JBoss MSC JBoss MSC 即 JBoss Modular Service Container,是第三代 JBoss 产品 JBoss 7和WildFfly的内核,JBoss MS ...
- Thrift的安装和简单演示样例
本文仅仅是简单的解说Thrift开源框架的安装和简单使用演示样例.对于具体的解说,后面在进行阐述. Thrift简述 ...
- [hadoop系列]Pig的安装和简单演示样例
inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ).(来源:http://blog.csdn.net/inkfish) Pig是Yaho ...
- Android中关于JNI 的学习(零)简单的样例,简单地入门
Android中JNI的作用,就是让Java可以去调用由C/C++实现的代码,为了实现这个功能.须要用到Anrdoid提供的NDK工具包,在这里不讲怎样配置了,好麻烦,配置了好久. . . 本质上,J ...
- Android通过startService播放背景音乐简单演示样例
关于startService的基本使用概述及其生命周期可參见博客<Android中startService的使用及Service生命周期>. 本文通过播放背景音乐的简单演示样例,演示sta ...
- 一则简单演示样例看Oracle的“无私”健壮性
Oracle的强大之处就在于他能总帮助让你选择正确的运行计划,即使你给了它错误的指示. 实验: 1. 创建測试表: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZ ...
- scrapy爬虫学习系列二:scrapy简单爬虫样例学习
系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...
- 使用CEF(二)— 基于VS2019编写一个简单CEF样例
使用CEF(二)- 基于VS2019编写一个简单CEF样例 在这一节中,本人将会在Windows下使用VS2019创建一个空白的C++Windows Desktop Application项目,逐步进 ...
随机推荐
- EasyUI - 后台管理系统 - 增加,删除,修改
效果: html代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ad ...
- 基于Spring的Web缓存
缓存的基本思想其实是以空间换时间.我们知道,IO的读写速度相对内存来说是非常比较慢的,通常一个web应用的瓶颈就出现在磁盘IO的读写上.那么,如果我们在内存中建立一个存储区,将数据缓存起来,当浏览器端 ...
- Linux 下获取LAN中指定IP的网卡的MAC(物理地址)
// all.h// 2005/06/20,a.m. wenxy #ifndef _ALL_H#define _ALL_H #include <memory.h>#include < ...
- 解决cocoapods在64位iOS7系统以下的警告问题
今天碰到一个非常奇怪的问题.XCODE提示这种警告 Pods was rejected as an implicit dependency for 'libPods.a' because its ar ...
- Windows 8 动手实验系列教程 实验7:磁贴和通知
动手实验 实验7:磁贴和通知 2012年9月 简介 磁贴是Windows应用商店应用用户体验的重要元素.当应用程序被安装后,它的磁贴将在Windows 8开始屏幕被创建.该磁贴(称为主磁贴)作为启动应 ...
- 怎样使用jstack诊断Java应用程序故障(转)
最近一段时间,我们的生产系统升级频繁出现故障,具体故障现象是启动后10来分钟就出现交易缓慢,处理线程耗尽等现象,并且故障发生的频率蛮高的.经过详细的诊断和排查,终于发现了问题,是groovy在osgi ...
- win 8.1 安装 SQL server 遇到的各种问题
企业版 SQL Server ed2k://|file|cn_sql_server_2012_enterprise_edition_x86_x64_dvd_813295.iso|5054384128| ...
- Swift - 歌曲播放样例(附带播放时间和播放进度)
使用MPMoviePlayerController我们可以是进行音乐播放,下面是一个播放器样例.同时,播放时还可以显示播放时间和播放进度. 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
- MFC-消息分派
前言 由于工作需要,这几天学了一点MFC,在AFX里看到很多熟悉的东西,如类型信息,序列化,窗口封装和消息分派.几乎每个界面库都必须提供这些基础服务,但提供的手法却千差万别.MFC大量地借用了宏,映射 ...
- myBatis 基础测试 表关联关系配置 集合 测试
myBatis 基础测试 表关联关系配置 集合 测试 测试myelipse项目源码 sql 下载 http://download.csdn.net/detail/liangrui1988/599388 ...