JSP文件上传-二进制流详解
JSP文件上传
一、先做选择上传文件页面chose.jsp,比较简单。
代码如下:
关键代码是:
jsp 图片上传功能实现原创
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);
JSP中上传图片 完整代码
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.*"%>My 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,比较简单。 代码如下: 关键代码是:
charset=gb2312指定这个二进制是以中文简体来编码的,这样传上去以后真正处理上传和存储的upfile.jsp页才能看懂识别中文文件名! 选择文件页面比较简单,关键是编码的申明,必须说清楚,不然到时候中文文件名就会乱码。 二、upfile.jsp页用来接收和处理以二进制形式传给服务器的数据流。 1、二进制数据流的基本信息。 还是用request对象帮我们取从客户端传过来的各种信息,先取二进制数据流的整体长度,就是传过来文件的大小了,单位是字节。 int formDataLength = request.getContentLength(); 我们可以设置能接收的最大文件大小,比如下面,就是10M。 int MAX_SIZE = 10*1024*1024; 再取传过来的二进制数据流类型,不知道里面是什么鬼? String contentType = request.getContentType(); 不要紧,我们打出来看看就知道了,out.print编程时非常有用,随时打出来瞅瞅。 out.print(contentType);会看到下面这个: 主要就是要后面的这个东西 一个表单form可能选了多个文件,全部在一个二进制数据流里面一起传过来,那么文件数据之间都用这个间隔boundary隔开的。通过它才可以在二进制数据流中找到一个文件的开始和结束位置,从而将文件数据正确取出并保存到服务器里。 一个字节的位置错误都会造成文件保存出错!所以文件保存的最关键就是要找准位置,错一个字节都不行。
JSP文件上传
UploadExample.jsp <%@ page contentType="text/html;charset=gb2312"%>
<%@ page contentType="text/html; charset=GBK" %> <%@ page import="java.io.*"%> <%@ page import="java.util.*"%> <%@ page import="javax.servlet.*"%> <%@ page import="javax.servlet.http.*"%>
jsp多文件上传到数据库
数据库的创建: 数据库名叫: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文档的上传在线预览下载
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.360docs.net/doc/3415084236.html, 邮箱: it_red@https://www.360docs.net/doc/3415084236.html, 1. Word文档转为html 这里采用第三方组件jacob来实现的,本demo所用的版本为jacob-1.18-M2;下载链接为: http://sourceforge.jp/projects/sfnet_jacob-project/releases/ 先在这里说一下,用这个组件还是比较麻烦的,首先要根据自己的电脑实际情况将压缩包里面的动态链接库 放到多个目录下,而这个动态链接库为: 将其复制的位置分别是: C:\Windows\System32 机器所安装的java目录下的jdk下的bin中
ssh框架中jsp上传图片功能的实现
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案例开发集锦
第一章: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:网络考试
jspSmartUpload使用文档
一、安装篇 jspSmartUpload是由https://www.360docs.net/doc/3415084236.html,网站开发的一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。该组件有以下几个特点: 1、使用简单。在JSP文件中仅仅书写三五行JAVA代码就可以搞定文件的上传或下载,方便。 2、能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。 3、能对上传的文件在大小、类型等方面做出限制。如此可以滤掉不符合要求的文件。 4、下载灵活。仅写两行代码,就能把Web服务器变成文件服务器。不管文件在Web服务器的目录下或在其它任何目录下,都可以利用jspSmartUpload进行下载。 5、能将文件上传到数据库中,也能将数据库中的数据下载下来。这种功能针对的是MYSQL 数据库,因为不具有通用性,所以本文不准备举例介绍这种用法。 jspSmartUpload组件可以从https://www.360docs.net/doc/3415084236.html,网站上自由下载,压缩包的名字是jspSmartUpload.zip。下载后,用WinZip或WinRAR将其解压到Tomcat的webapps目录下(本文以Tomcat服务器为例进行介绍)。解压后,将webapps/jspsmartupload目录下的子目录Web-inf名字改为全大写的WEB-INF,这样一改jspSmartUpload类才能使用。因为Tomcat对文件名大小写敏感,它要求Web应用程序相关的类所在目录为WEB-INF,且必须是大写。接着重新启动Tomcat,这样就可以在JSP文件中使用jspSmartUpload组件了。 注意,按上述方法安装后,只有webapps/jspsmartupload目录下的程序可以使用jspSmartUpload组件,如果想让Tomcat服务器的所有Web应用程序都能用它,必须做如下工作: 1.进入命令行状态,将目录切换到Tomcat的webapps/jspsmartupload/WEB-INF目录下。2.运行JAR打包命令:jar cvf jspSmartUpload.jar com (也可以打开资源管理器,切换到当前目录,用WinZip将com目录下的所有文件压缩成jspSmartUpload.zip,然后将jspSmartUpload.zip换名为jspSmartUpload.jar文件即可。) 3.将jspSmartUpload.jar拷贝到Tomcat的shared/lib目录下。 二、相关类说明篇 ㈠File类 这个类包装了一个上传文件的所有信息。通过它,可以得到上传文件的文件名、文件大小、扩展名、文件数据等信息。
jsp实现文件上传和下载
1 JSP文件上传简单实例 1、index.html代码:
JSP 实现多个文件上传的两种方法
JSP 实现多个文件上传的两种方法 JSP实现文件上传的实现方式是这样的:使用ServletRequest类的getInputStream()方法获得一个客户端向服务器发出的数据流,然后处理这个数据流,从中分析得到文件上传中传递到服务器的各个参数和数据,然后将其中的文件数据存储为一个文件或插入到数据库中。 通常JSP页面中不处理文件的上传功能,而是把这些功能放到Servlet 或JavaBean中去实现。使用Servlet完成文件上传的例子在其他JSP书籍中有所介绍,这里只介绍使用JeanBean是如何完成文件上传的。 JSP中实现文件的上传可以采用两种方式即采用HTTP协议和FTP协议实现,二者在传输的原理上存在很大的差异。以下将结合源代码对它们的实现做简单介绍,相信读者会从中有所收获。 在JSP中使用JavaBean实现基于Web的文件上传功能一般需要三种文件结合完成。这三种文件分别是提供界面的HTML页面文件、完成调用实现上传功能的JavaBean的JSP文件和实现JavaBean的Java的类文件。 1.采用HTTP协议实现多个文件的上传 在过去的HTML页面中,表单不能实现文件的上传,这多少限制了一些网页的功能。RFC1867规范(即HTML中实现基于表单的文件上传)对表单作出了扩展,增加了一个表单元素(input type=file)。通过使用这个元素,浏览器会自动生成一个输入框和一个按钮,输入框可供用户填写本地的文件名和路径名,按钮可以让浏览器打开一个文件选择框供用户选择文件。具体的表单实现如下: 选择了文件后直接输入本地文件的绝对路径,表单的action属性值是*.jsp,这意味着请求(包括上载的文件)将发送给*.jsp文件。在这个过程中实际上就实现了HTTP方式的文件上载。文件从客户端到服务器的上传是由HTTP协议的通用网关界面(CGI)支持的。这种上载方式要求浏览器和WEB服务器两方面都能够支持Rfc1867。JavaBean 通过ServletRequest类的getInputStream()方法获得一个客户端向服务器发出的数据流、分析上传的文件格式,根据分析结果将多个文件依次输出服务器端的目标文件中。 2.采用FTP协议实现多个文件的上传 FTP协议是Internet上用来传送文件的协议,规定了Internet上文件互相传送的标准。在Java中实现这一功能是借助FtpClient类完成的。具体实现过程:首先与FTP服务器建立连接。然后初始化文件的传输方式,包括ASCII和BINARY两种方
JAVA中的文件上传
SmartUpload上传图片 目标:在Jsp页面中实现文件上传 初级篇 文件上传是我们程序中会经常使用到的功能,针对于上传的技术也非常多!那么在此介绍两种常用简单的上传方式 上传方式一:使用SmartUpload组建进行上传 上传方式二:使用Struts的
下面是doUpload.jsp页面中的源代码 <%@page language="java"import="java.util.*"pageEncoding="GBK"%> <%@page import="com.jspsmart.upload.File"%> <%@page import="com.jspsmart.upload.Files"%> <%@page import="com.jspsmart.upload.SmartUpload"%> <% //实例化上传组件 SmartUpload upload=new SmartUpload(); //初始化上传组件 upload.initialize(this.getServletConfig(),request,response); //开始上传 upload.upload(); //获取上传的文件列表对象 Files f=upload.getFiles(); //获取文件对象 File fil=f.getFile(0); //去的文件后缀 String ext=fil.getFileExt(); //判断文件类型是否是jpg格式 if(!(ext.equals("jpg"))){ out .println(""); return; } //满足条件进行文件的上传需要注意的是upload使我们webRoot文件夹下的一个目录 fil.saveAs("upload/"+fil.getFileName()); %> 至此我们就完成了一个最简单的图片上传示例。我们部署测试下! 文件上传页面 我们选择一个视频文件