JSP使用SmartUpload上传图片

原文出处:http://blog.sina.com.cn/s/blog_59d6717c0100e62l.html

SmartUpload上传图片

 

目标:在Jsp页面中实现文件上传

初级篇

文件上传是我们程序中会经常使用到的功能,针对于上传的技术也非常多!

常用的上传组件:
  Apache commns FilUpload
  JavaZoom的UploadBean
  jspSmartUpload
  Struts标签中的<html:file></ html:file >

那么在此介绍两种上传方式

  使用SmartUpload组建进行上传

  使用Struts的<html:file>标签进行上传

我们新建一个Java Web 工程,这里使用纯粹的jsp进行上传和显示功能的实现。

SmartUpload上传图片

我们需要在我们的工程中添加  smartUpload.jar包  SmartUpload上传图片

之后我们编写 index.jsp

SmartUpload上传图片

Index.jsp Source

SmartUpload上传图片

 

需要注意的设置表单的enctype="multipart/form-data" 这个值我们可以再Dreamweaver中选

我们将表单提交到另一个处理上传请求的doUploadjsp页面

 

我们现在编写处理文件上传的页面 doUpload.jsp

下面是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("<script type='text/javascript'>alert('文件类型错误');location.replace('index.jsp');</script>");

                     return;

              }

              //满足条件进行文件的上传 需要注意的是upload使我们webRoot文件夹下的一个目录

              fil.saveAs("upload/" + fil.getFileName());

       %>

 

至此我们就完成了一个最简单的图片上传示例。我们部署测试下!

之后我们打开我们的工程下的upload文件夹查看文件是否上传成功,在这里需要注意的是我们查看的工程一定是部署在服务器下的那份,而不是源文件! 够则查看不到!

SmartUpload上传图片

                                 

 

高级篇

在上面我们完成了一个简单的文件上传示例,很简单!

那么在此我们做一些完善和修改比如当用户选择了文件后我们应给与用户显示预览窗口,等待用户确认上传文件,判断文件大小,当上传完成图片后进行图片的显示,图片存放在服务器上的文件名应该以时间命名等。

 

首先我们需要做的是在index.jsp页面中当用户选择可上传文件后,应该显示图片预览窗口!

编辑我们的index.jsp


SmartUpload上传图片    

 

 

 SmartUpload上传图片

 

 

我们可以在处理上传的页面调用组建中的方法 限制文件的大小和非法后缀

SmartUpload上传图片

 

 

Struts上传的示例以后再写吧!  关于多文件上传其实也是一样的只要去修改处理上传文件的那个jsp就可以,具体的就是可是使用循环遍历Files集合取出File 保存。在服务器上我们保存的文件应该是以时间去命名我们的图片。


注意:

很多人在做了上传之后 文件时能上传了 但是表单中的其他数据却都不能提交了

使用request.getParameter("");  打印出来的值是null

这个时候我们需要用到SmartUpload类的getRequest();方法来取得request对象

之后的操作和以前的操作一样例如

SmartUpload  upload=new SmartUpload();

upload.getRequest().getParameter("txtName");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值