SWFUpload 是一个flash 和js 相结合而成的文件上传插件,其功能非常强大。以前在项目中用过几次,但它的配置参数太多了,用过后就忘记怎么用了,到以后要用时又得到官网上看它的文档,真是太烦了。所以索性就把它的用法记录下来,
也方便英语拙计的同学查看,利人利己,一劳永逸。(ps :SWFUpload 早就不再更新了,官网也打不开了,推荐大家使用Plupload 来代替SWFUpload ,Plupload 以html5上传方式为主,在不支持html5的浏览器中会自动回退到flash 的上传方式,功能灰常强大!使用方法可以看我写的《前端上传组件Plupload 使用指南》) SWFUpload 的特点:
1、用flash 进行上传,页面无刷新,且可自定义Flash 按钮的样式;
2、可以在浏览器端就对要上传的文件进行限制;
3、允许一次上传多个文件,但会有一个上传队列,队列里文件的上传是逐个进行的,服务器端接收文件时跟普通的表单上传文件是一样的;
4、提供了丰富的事件接口供开发者使用; SWFUpload 的文件上传流程是这样的: 1、引入相应的js 文件
2、实例化SWFUpload 对象,传入一个配置参数对象进行各方面的配置。
3、点击SWFUpload 提供的Flash 按钮,弹出文件选取窗口选择要上传的文件;
4、文件选取完成后符合规定的文件会被添加到上传的队列里;
5、调用startUpload 方法让队列里文件开始上传;
6、文件上传过程中会触发相应的事件,开发者利用这些事件来更新ui 、处理错误、发出提示等等;
SWFUpload 包括三部分的内容:SWFUpload.js 、swfupload.swf 、初始化配置参数及各种事件处理函数。所以首先在页面引入SWFUpload.js
然后实例化一个SWFUpload 对象:
我们看到要实现一个swfupload上传功能很简单,就是实例化一个swfupload对象。但繁琐的地方就在于实例化实要用到的参数配置对象,以及各种事件的发生时机以和提供的参数。所以重点来了。下面几个表格对开发中要用到的东西列举了出来,虽然已经蛮多了,但并不是swfupload的全部,我列出来的只是常用的。要查看完整的文档,请到swfupload 官网上查询。
一、配置参数对象中的常用属性及说明
二、各种事件说明
要实现与用户的交互,靠的就是在这些事件上做文章了
三、swfupload实例的方法
方法中大多数是动态改变参数配置对象的方法
四、文件信息对象File Object
在事件监听函数中,经常要用到文件信息对象来获取文件的信息以供下一步的操作
五、队列状态对象Stats Object
用来获取当前队列的状况
六、一些常量
定义的一些常量,便于理解
内容太多了,感觉有点乱了,如果还不清楚怎么使用,建议看下官网的使用流程,明白怎么使用后再来看这些属性、事件、方法、常量什么的吧。
JS分段获取URL解析 URL : 统一资源定位符 (Uniform Resource Locator, URL) 完整的URL由这几个部分构成: scheme://host:port/path?query#fragment scheme = 通信协议 (常用的http,ftp,maito等) host = 主机 (域名或IP) port = 端口号 path = 路径 query = 查询 可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/https://www.doczj.com/doc/db6956209.html,等技术制作的网页)传递参数,可有多个参数,用”&”符号隔开,每个参数的名和值用”=”符号隔开。 fragment = 信息片断 字符串,用于指定网络资源中的片断。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。(也称为锚点.) 对于这样一个URL https://www.doczj.com/doc/db6956209.html,:80/seo/?ver=1.0&id=6#imhere 我们可以用javascript获得其中的各个部分 1, window.location.href 整个URl字符串(在浏览器中就是完整的地址栏) 2,window.location.protocol URL 的协议部分
本例返回值:http: 3,window.location.host URL 的主机部分 本例返回值:https://www.doczj.com/doc/db6956209.html, 4,window.location.port URL 的端口部分 如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符本例返回值:”" 5,window.location.pathname URL 的路径部分(就是文件地址) 本例返回值:/seo/ 6,window.location.search 查询(参数)部分 除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值本例返回值:?ver=1.0&id=6 7,window.location.hash 锚点 本例返回值:#imhere
jsp中实现一个页面纯io流上传文件 <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <%@page import="java.io.*"%> <%@page import="java.sql.*"%>
将Apache的commons-fileupload.jar放在应用程序的WEB-INF\lib下,即可使用。下面举例介绍如何使用它的文件上传功能。 所使用的fileUpload版本为1.2,环境为Eclipse3.3+MyEclipse6.0。FileUpload 是基于Commons IO的,所以在进入项目前先确定Commons IO的jar包(本文使用commons-io-1.3.2.jar)在WEB-INF\lib下。 此文作示例工程可在文章最后的附件中下载。 示例1 最简单的例子,通过ServletFileUpload静态类来解析Request,工厂类FileItemFactory会对mulipart类的表单中的所有字段进行处理,不只是file字段。getName()得到文件名,getString ()得到表单数据内容,isFormField()可判断是否为普通的表单项。 demo1.html
js下载文件的实现方法一 f8b js下载文件的实现方法及注意 js中实现文件下载 (一) 最简单的方式是在页上做超级链接如:<a href="music/abc.m3">下载</a>。 但是这样服务器上的目录资源会直接暴露给最终用户会给站带来一些不安全的因素。 因此可以采用其它方式实现下载可以采用: 1、RequestDisatcher的方式进行;
2、采用文件流输出的方式下载。(推荐) 1、采用RequestDisatcher的方式进行 Js代码 <% resonse.setContentTye("alication/x-download");//设置为下载alication/x-download String filedownload = "/要下载的文件名";//即将下载的文件的相对径 String filedislay = "最终要显示给用户的保存文件名";//下载文件时显示的文件保存名称 String filenamedislay = URLEncoder.encode(filedislay,"UTF-8"); resonse.addHeader("Content-Disosition","attachment;filena me=" + filedislay); try { RequestDisatcher dis = alication.getRequestDisatcher(filedownload);
特点: 1.可以多文件上传; 2.返回上传后的文件名; 3.form表单中的其他参数也可以得到。先贴上传类,JspFileUpload package com.vogoal.util; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.Hashtable; import javax.servlet.ServletInputStream; import javax.servlet.http.HttpServletRequest; /* * vogoalAPI 1.0 * Auther SinNeR@https://www.doczj.com/doc/db6956209.html, * by https://www.doczj.com/doc/db6956209.html, * mail: vogoals@hotm https://www.doczj.com/doc/db6956209.html, */ /** * JSP上传文件类 * * @author SinNeR * @version 1.0 */ public class JspFileUpload { /** request对象*/
private HttpServletRequest request = null; /** 上传文件的路径*/ private String uploadPath = null; /** 每次读取得字节的大小*/ private static int BUFSIZE = 1024 * 8; /** 存储参数的Hashtable */ private Hashtable paramHt = new Hasptable(); /** 存储上传的文件的文件名的ArrayList */ private ArrayList updFileArr = new ArrayList(); /** * 设定request对象。 * * @param request * HttpServletRequest request对象 */ public void setRequest(HttpServletRequest request) { this.request = request; } /** * 设定文件上传路径。 * * @param path * 用户指定的文件的上传路径。 */ public void setUploadPath(String path) { this.uploadPath = path; } /** * 文件上传处理主程序。 �������B * * @return int 操作结果0 文件操作成功;1 request对象不存在。2 没有设定文件保存路径或者
现在想写个程序 向数据库中插入图片路径(或则插入图片也可以) 最好是插入图片的路径这样可插入任意大的图片... 请高手指点一下思路.. 感激不尽 1.通过显示层向数据库中插入图片 2.在界面显示的时候是小图片(缩小过的) 3.当点击查看大图片会显示图片(原来的大小) 提供给你图片上传和显示的代码吧!希望对你有帮助 我在程序代码里贴了向Mysql数据库写入image代码的程序,可是好多人都是Java的初学者,对于这段代码,他们无法将它转换成jsp,所以我在这在写一下用jsp怎样向数据库写入图像文件。大家先在数据库建这样一张表,我下面的这些代码对任何数据库都通用,只要支持blob类型的 只要大家将连接数据库的参数改一下就可以了。 SQL> create table image(id int,content varchar(200),image blob); 如果在sqlserver2000的数据库中,可以将blob字段换为image类型,这在SqlServer2000中是新增的。 testimage.html文件内容如下:
jquery.js文件报错-解决方法 tomcat首页报Directory listing for错误, eclipse启动tomcat,首页报404错误 引入一个正常的新项目后,eclipse报错: 一、jQuery.js文件报错 解决办法: 1.window-preferences-中将JavaScript -validator-erros warnings取消
2.将eclipse工作空间中的当前项目的.project文件中的
package com.lsl.util; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import javax.imageio.ImageIO; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGEncodeParam; import com.sun.image.codec.jpeg.JPEGImageEncoder; /** * * @author Administrator * 图像处理类 */ public class PicCompression { /** * 压缩图片方法 * * @param oldFile * 将要压缩的图片的绝对地址 * @param width * 压缩宽 * @param height * 压缩长 * @param quality * 压缩清晰度建议为1.0 * @param smallIcon * 压缩图片后,添加的扩展名 * @return */ public String zoom(String oldFile, int width, int height, float quality) { if (oldFile == null) { return null; } String newImage = null; try { File file = new File(oldFile);
js取得当前url,javascript获取当前页面url值,js获取域名- js取得当前url,javascript获取当前页面url值,js获取域名 分类:JS 2010-09-01 14:14 如果获取“当前”域名 host = window.location.host; url=document.domain; url = window.location.href; 取得完整url路径: 用以下代码可以完整研证结果: thisDLoc = document.location; thisURL = document.URL; thisHREF = document.location.href; thisSLoc = self.location.href; thisTLoc = top.location.href; thisPLoc = parent.document.location; thisTHost = top.location.hostname;
thisHost = location.hostname; 还有一种稍有些复杂的取域名的方法,也是过滤了文件夹名,文件名,参数 …… var getHost = function(url) { var host = "null"; if(typeof url == "undefined"|| null == url) { url = window.location.href; } var regex = /.*\:\/\/([^\/]*).*/; var match = url.match(regex); if(typeof match != "undefined" && null != match) { host = match[1]; } return host; }
upfile.jsp
<%@ page language="java" pageEncoding="gb2312"%> <%@ page import="java.io.*,java.awt.image.*,com.sun.image.codec.jpeg.*,jav a.sql.*,com.jspsmart.upload.*,java.util.*"%> <%@ page import="mainClass.*"%>doUpload.jspMy JSP'uploadimage.jsp' starting page <% S martUpload sma = new SmartUpload(); l ong file_max_size = 4000000; S tring filename1 = "", ext = "", testvar = ""; S tring url = "uploadfiles/"; s ma.initialize(pageContext); t ry { sma.setAllowedFilesList("jpg,gif"); sma.upload(); }catch (Exception e) { %>JSP文件上传-二进制流详解
JSP文件上传 一、先做选择上传文件页面chose.jsp,比较简单。 代码如下: 关键代码是:
<%@ page contentType="text/html; charset=GBK" %> <%@ page import="java.io.*"%> <%@ page import="java.util.*"%> <%@ page import="javax.servlet.*"%> <%@ page import="javax.servlet.http.*"%>
数据库的创建: 数据库名叫:csdn 表名:savepicture DROP TABLE IF EXISTS `savepicture`; CREA TE TABLE `savepicture` ( `id` int(10) NOT NULL auto_increment, `picture` blob NOT NULL, PRIMARY KEY(`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 好动手创建工程啦: 其实非常简单,一看就明白。把需要的包该导的都导了就行了。接着我们创建上传页面: <%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%>
JSP实现word文档的上传,在线预览,下载 前两天帮同学实现在线预览word文档中的内容,而且 需要提供可以下载的链接!在网上找了好久,都没有什么可行的方法,只得用最笨的方法来实现了。希望得到各位大神的指教。下面我就具体谈谈自己的实现过程,总结一下学习中的收获。 我相信很多程序员都遇到过,有些word文档希望直接在浏览器中打开进行预览,但是浏览器往往不是很配合,直接就提示下载,不像pdf文档,浏览器可以直接进行预览。Word文档甚至始终都会通过本地的Office软件打开。那么,问题来了,如何可以在线浏览word文档呢? 其实,我在最初的时候也没有接触过这方面的东西,一般用的比较多的是生成pdf文档,而浏览器一般都支持pdf 的浏览,因此,直接通过后台传来的数据,再利用java和一些相关的jar包就可以生产一个pdf文档,在浏览器中可以 直接显示。尽管可以这样,但是我们需要的是解决实际问题啊?在浏览器中打开word文档。 在网上查了一些资料,也都没有查出个所以然。看了好几个博客和论坛,也都是大同小异,测试了好几个,基本都是浏览器提示直接下载,或者打开,这里的打开也都是利用本地的Office软件打开的,所以这并不是自己想要的结果。
于是,自己动手,既然浏览器不支持显示word文档,我何不将word文档按照原来word的样式和内容转为html呢?而在浏览器中,html是再熟悉不过了。基本思路就是这样,首先是利用上传的word文档转为html文件,然后生成的链接显示在jsp页面上,如果点击显示该word文档,那么实际上浏览器读取的是刚生成的html文件。 下面将自己的实现过程总结如下,欢迎各位朋友提供更好的解决办法。转载本文请在文章明显位置标明文章的原始出处,个人博客:https://www.doczj.com/doc/db6956209.html, 邮箱: it_red@https://www.doczj.com/doc/db6956209.html, 1. Word文档转为html 这里采用第三方组件jacob来实现的,本demo所用的版本为jacob-1.18-M2;下载链接为: http://sourceforge.jp/projects/sfnet_jacob-project/releases/ 先在这里说一下,用这个组件还是比较麻烦的,首先要根据自己的电脑实际情况将压缩包里面的动态链接库 放到多个目录下,而这个动态链接库为: 将其复制的位置分别是: C:\Windows\System32 机器所安装的java目录下的jdk下的bin中
jspsmart的使用 上传 // 新建一个SmartUpload对象 SmartUpload su = new SmartUpload(); // 上传初始化 su.initialize(pageContext); // 限制每个上传文件的最大长度。 su.setMaxFileSize(10000); // 限制总上传数据的长度。 su.setTotalMaxFileSize(20000); // 设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。 su.setAllowedFilesList("doc,txt"); // 设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat, //jsp,htm,html扩展名的文件和没有扩展名的文件。 su.setDeniedFilesList("exe,bat,jsp,htm,html,,"); // 上传文件 su.upload(); // 将上传文件全部保存到指定目录 int count = su.save("/upload"); 下载 // 新建一个SmartUpload对象 SmartUpload su = new SmartUpload(); // 初始化 su.initialize(pageContext); // 设定contentDisposition为null以禁止浏览器自动打开文件, //保证点击链接后是下载文件。若不设定,则下载的文件扩展名为 //doc时,浏览器将自动用word打开它。扩展名为pdf时, //浏览器将用acrobat打开。 su.setContentDisposition(null); // 下载文件 su.downloadFile("/upload/test.doc"); 应用实例: uploadimage.jsp <%@ page contentType="text/html;charset=gb2312" language="java" import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,java.sql.*,com.js psmart.upload.*,java.util.*"%> <%
第一章:JSP与HTML 案例1:动态设置网员背景图片 案例2:用JSP定制主页 案例3:表格应用实例 案例4:网页中文乱码问题的解决方案 案例5:JSP与CSS结合应用 第二章:JSP与字符串 案例1:显示不同大小的“你好Jsp”字符串中文的问题案例2:JSP中对字符串的处理及其扩展 案例3:实现文本模糊查找 案例4:JSP汉字转码 案例5:设置JSP异常处理 案例6:分割字符串 案例7:清除字符串中指定的字符 案例8:如何取得汉字的区位码 案例9:字符串中包含双引号 第三章:JSP与图像 案例1:JSP生成jpeg图片用于投票 案例2:记数器的实现 案例3:JSP中定义函数实现特例 第四章:JSP与数据库 案例1:基本的数据库连接实例 案例2:JDBC 实例 案例3:数据库访问JavaBean 实例 案例4:单记录浏览数据 案例5:分页显示 案例6:编程实现记录编辑 案例7:创建数据报表 案例8:系统登录系统 案例9:SQL创建和修改数据库 案例10:图形显示数据库表中的数据信息 案例11:将图片添加到数据中 案例12:定制标签实例 案例13:扩展标签实例 案例14:综合实例――学生管理系统 第五章:JSP与EJB 案例1:封装数据源 案例2:Enterprise JavaBeans的处理文件 案例3:实现EJBObject文件 案例4:实现EJBHome文件 案例5:一个javabean轻松实现数据库操作 案例6:在电子商务中的应用 案例7:动态日历 案例8:DIR计算器 第六章:JSP与Web
案例1:Telnet 服务 案例2:SMTP 服务 案例3:FTP 服务 案例4:News 服务 案例5:查询主机和本机的IP 案例6:环境列表 案例7:JavaMail API发送电子邮件 案例8:jspSmartUpload上传下载全攻略 案例9:留言本程序 案例10:聊天室程序 案例11:浏览器程序 第七章:JSP与XML 案例1:XML简单示例 案例2:Tag Library 开发与应用实例 案例3:JSP与Tag Library和XML的结台应用案例4:投票器 案例5:jsp操作Execl分析 第八章:JSP与JavaScript的结台应用 案例1:文件的读取 案例2:获取文件或文件夹属性 案例3:显示盘中所有的目录 案例4:用JSP实现文件查找功能 案例5:实现目录遍历 案例6:文件管理器 案例7:记事本 案例8:中文显示服务端日期 案例9:判断服务端时间并显示中文问候 案例10:打印文件 第九章:JSP综合实例 综合实例1:论坛和社区 综合实例2:酒店管理系统 综合实例3:搜索引擎 综合实例4:购物车 综合实例5:后台管理系统 综合实例6:新闻发布系统 综合实例7:网络考试