web程序的设计第6章 JSP实现图片上传.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
web程序的设计第6章 JSP实现图片上传.ppt

第6章 JSP实现图片上传和读取显示 图片上传是指客户端通过Web应用程序将本地图片资源传输到服务器上。在客户端需要显示图片时,服务器端将图片通过网络以流的形式发送给客户端,然后利用不同的形式显示图片。掌握图片上传和读取的原理,可以帮助大家了解更多关于文件在网络中传输的知识。 目前很多Web网站都提供了文件上传和下载功能。图片上传和读取显示是文件上传技术中的一种,两者的原理一致,都是将文件以二进制流的形式通过网络传输给服务器并存储在服务器上。在服务器上通常有以下两种存储文件形式。 磁盘存储。将上传的文件,以文件形式存储在服务器指定的磁盘上。 数据库存储。将上传的文件,存储在数据库服务器中。 6.1 文件上传组件介绍 文件上传组件是一些开源组织发布的针对实现文件上传功能的一组class文件。jspSmartUpload和Apache的common-fileupload是两个比较流行的文件上传组件。这两个组件都可以在JSP中实现文件上传。本节使用Apache的common-fileupload组件实现图片上传。 6.1.1 HTML中文件上传组件介绍 HTML中input type=file/元素可以创建文件上传组件。该控件带有一个文本框和浏览按钮。使用该组件时要注意以下几点。 该元素必须出现在form表单内。 必须为该元素的name属性指定属性值。 form的method方法必须设置为post。 form元素enctype标签属性值必须设置为multipart/form-data。要处理上载到服务器的文件,服务器必须有可以处理multipart/form-data提交的进程。 6.1.2 common-fileupload组件简介 common-fileupload组件是apache的开源项目之一。用该组件可实现一次上传一个或多个文件,并可限制文件大小。可以从/commons/ fileupload/下载到该组件。该组件在许多其他开源项目中被使用,如struts、WebWork等。该组件由几个核心类组成,下面对这几个类进行简单的介绍。 (1)DiskFileUpload类。(2)FileItem类用来封装单个表单字段元素的数据,一个表单字段元素对应一个FileItem对象,通过调用FileItem对象的方法可以获得相关表单字段元素的数据。(3)FileUploadException类。在文件上传过程中,可能发生各种各样的异常,如网络中断、数据丢失等。为了对不同异常进行适当的处理,Apache文件上传组件还开发了4个异常类,其中FileUploadException是其他异常类的父类,其他几个类只是被间接调用的底层类,对于Apache组件调用人员来说,只需对FileUploadException异常类进行捕获和处理即可。 6.1.3 文件在服务器端的存储形式 在本章开始处已经提到,在服务器端存储文件主要有两种方式:磁盘存储和数据库存储。在这里使用的是后者,利用数据库存储来将图片上传到服务器端。 这两种存储方式各有利弊。利用数据库来存储这些资源会导致数据库的处理效率降低,但相对安全。利用磁盘来存储图片资源安全性相对来说比较低,但不会影响到处理的效率。 本书利用数据库来存储上传的图片信息。对于图片这种大文件,数据库中提供了专用字段类型来存储,如BLOB、MEDIUMBLOB、LONGBLOB。 6.2.2 文件上传处理 上传页面可以进行图片上传操作。图片先被上传到服务器,再被文件上传处理程序进行处理,最后存储到数据库中, 前面已经对common-fileupload组件进行了简单介绍,也对该组件中的几个关键类进行了讲解。在实现文件上传处理过程中,主要使用到了DiskFileUpload类和FileItem类, 6.2.3 查询图片列表 从数据库中得到所有的上传图片信息,并且将结果显示在页面上。图片名称字段是以超链接形式显示在页面中的。这样的目的是要通过单击该超链接来显示该图片的内容。 执行以上代码便可以从数据库中得到所有的上传图片信息,并且将结果显示在页面上。在上面的代码中,图片名称字段是以超链接形式显示在页面中的。这样的目的是要通过单击该超链接来显示该图片的内容。 6.2.4 图片内容显示 在上面代码中,从数据库中读取的图片内容是以Blob形式返回。Blob是内置类型,它将二进制大对象(Binary Large Object)存储为数据库表某一行中的一个列值。该类型有几个常用方法, ServletResponse.getOutputStream()方法提供了一种输出流,用于向客户端发送二进制数据。ServletOutputStream对象通常通过ServletResponse.getOutputStream()方法获

您可能关注的文档

文档评论(0)

youngyu0329 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档