基于jspSmartUpload的Jsp文件上传实例(只能上传图片格式文件)

支持中文的jsp文件上传组件:jspSmartUpload.jar下载

jar包的存放位置:WEB-INF\lib下。

upload_image.html

<form method="post" action="new_upload.jsp" enctype="multipart/form-data"> 
<input type="file" name="file"> 
<input type="submit" name="Submit" value="上传"> 
</form>

image_upload.jsp

<%@ page contentType="text/html; charset=gb2312" import="com.jspsmart.upload.SmartUpload" %>
<html>
<head>
<title>文件上传处理页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body>
<%
 SmartUpload su = new SmartUpload();
 su.initialize(pageContext);
 try{
 // 设定允许上传的文件(通过扩展名限制)
  su.setAllowedFilesList("jpg,png,gif,bmp");
  su.upload();
  su.save("/upload");
  }
  catch (Exception e){
%>
<SCRIPT language=javascript>
alert("只允许上传.jpg/.gif/.png/.bmp类型图片文件");
window.location='upload_image.html';
</script>
<%
}try{ 
com.jspsmart.upload.File file = su.getFiles().getFile(0);
if (file.isMissing()){%>
<SCRIPT language=javascript>
alert("请先选择要上传的文件");
window.location='upload_image.html';
</script>
<%}
else{   
  // 显示当前文件信息
  out.println("你上传的图片是:<img src='upload/"+file.getFileName()+"' >");

 }
 }catch (Exception e){ 
out.print(e.toString()); 
   }

%>

</body>
</html>

相关文章:

基于jspSmartUpload的Jsp文件上传:防止文件重名被覆盖的解决方法

基于jspSmartUpload的Jsp文件上传实例

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/2921.html

(0)
江山如画的头像江山如画管理团队
上一篇 2018年12月11日 下午3:05
下一篇 2018年12月11日 下午3:23

99%的人还看了以下文章

  • GitHub是什么?GitHube有什么用?GitHub学习入门(精)

    GitHub是什么? gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。 Git 是由 Linux 之父 Linus Tovalds 为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。  好吧,我相信看到这里你已经晕了,这也是我一开始看那些所谓经典教程的感受。 简单来…

    2018年8月24日
    8.5K0
  • Java JDBC操作Mysql数据库增删改查,分页查询实例详解(源码)

    配置信息 public static final String USER_NAME = “root”; public static final String PWD = “123456789”; public static final String DRIVER = “com.mysql.jdbc.Driver”; public static final S…

    2020年2月19日
    7.1K0
  • String、StringBuffer、StringBuilder的区别?

    String在实例化之后,其内存空间的内容大小是不能够被修改的;而StringBuffer是一个线程安全的可变字符序列,在实例化之后可以动态的修改堆内存中的内容,所以内存长度和大小是可变的;StringBuilder实例化之后内存大小长度也是可变的,不同之处在于StringBuilder不是线程同步,因此操作起来必然比StringBuffer更加高效。

    2018年10月24日
    2.7K0
  • Java Vector可实现自动增长的对象数组

    java.util.vector提供了向量类(Vector)以实现类似动态数组的功能。创建了一个向量类的对象后,可以往其中随意插入不同类的对象,即不需顾及类型也不需预先选定向量的容量,并可以方便地进行查找。 对于预先不知或者不愿预先定义数组大小,并且需要频繁地进行查找,插入,删除工作的情况,可以考虑使用向量类。 向量类提供了三种构造方法: public ve…

    2020年8月20日
    5.7K0
  • oracle 计算时间差,包含年、月、日、时、分、秒

    在做系统时,如图书管理系统、车辆管理系统、事务管理系统等,经常需要我们计算两个日期相差多少天,图书是否应该归还,事情是否完成等。 今天给大家分享oracle 中如何计算时间差! oracle时间差是以天数为单位,所以换算成年月,日 select floor(to_number(sysdate-to_date(‘2018-11-02 15:55:03’,’yy…

    2018年2月13日
    4.7K0
  • 最清楚的过拟合(Overfitting)、欠拟合讲解

    问题的产生 当我们构建模型时,总会希望假设空间参数尽可能多,系统越复杂,拟合得越好嘛!我们还希望我们的优化算法能使我们的模型产生的损失函数的值尽可能小(即我们的假设空间能够贴合每一个训练样本点)。但这样真的好吗?奥卡姆剃刀貌似又胜利了。然而假设我们的模型达成了上述的情况,有很大概率产生一个ML界非常令人头疼的一件事:过拟合(Overfitting)。 欠拟合…

    2022年9月21日
    9.6K0

发表回复

登录后才能评论