1.要实现图片上传,首先需要一个组件,这里我用的是smartupload.jar可以到这里下载http://download.csdn.net/detail/mengdecike/8279247

2.下载之后把这个文件直接复制到WebContent/WEB-INF/lib下面

3.jsp页面

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>Insert title here</title>
  8. </head>
  9. <body>
  10. <form action="UpLoad" method="post" enctype="multipart/form-data" name="form1">
  11. <p>用户名:
  12. <label for="username"></label>
  13. <input type="text" name="username" id="username">
  14. </p>
  15. <p>头 像:
  16. <label for="photo"></label>
  17. <input type="file" name="photo" id="photo">
  18. </p>
  19. <p>
  20. <input type="submit" name="button" id="button" value=" 提 交 ">
  21. </p>
  22. </form>
  23. </body>
  24. </html>

4.上传的servlet代码如下:

  1. request.setCharacterEncoding("utf-8");//设置字符
  2. response.setContentType("text/html;charset=utf-8");
  3. response.setCharacterEncoding("utf-8");
  4. PrintWriter out =response.getWriter();//获取out输出对象
  5.  
  6. // 准备上传目录
  7. String path = this.getServletContext().getRealPath("images");
  8. File fpath = new File(path);
  9. if(!fpath.exists()){
  10. fpath.mkdir();
  11. }
  12.  
  13. // 实例化组件
  14. SmartUpload su = new SmartUpload("utf-8");
  15. // 初始化组件
  16. su.initialize(this.getServletConfig(), request, response);
  17.  
  18. try {
  19. // 限定
  20. su.setAllowedFilesList("jpg,png,gif");
  21. su.setMaxFileSize(50*1024); // 不能超过50K
  22.  
  23. // 上传并提取文件
  24. su.upload();
  25. SmartFile file = su.getFiles().getFile(0);
  26. // 生成文件名
  27. String fname = new Date().getTime()+"."+file.getFileExt();
  28. // 保存文件
  29. file.saveAs(path+"/"+fname);
  30. //file.saveAs(path+"/"+fname,1);
  31. // 提示
  32. out.println("<script>alert('文件上传成功!');location.href='upload.jsp';</script>");
  33.  
  34. // 提取字段信息
  35. String username = su.getRequest().getParameter("username");
  36. System.out.println(">>> " + username);
  37.  
  38. // 进行数据库操作
  39.  
  40. } catch(SecurityException e){
  41. out.println("<script>alert('只能上传jpg、png、gif的文件并且不能超过50K!');history.back();</script>");
  42. e.printStackTrace();
  43. }
  44. catch (SmartUploadException e) {
  45. // TODO Auto-generated catch block
  46. out.println("<script>alert('文件上传失败!');history.back();</script>");
  47. e.printStackTrace();
  48. }

如果需要整个的完整资源可以到http://download.csdn.net/detail/mengdecike/8279275 下载资源。

jsp图片上传的更多相关文章

  1. JSP图片上传 公共工具类

    需要jsmartcom_zh_CN.jar支持. 下载地址: http://files.cnblogs.com/simpledev/jsmartcom_zh_CN.rar <%@page imp ...

  2. [xPlugin] smartupload jsp图片上传

    URL:http://www.cnblogs.com/ISeeYouBlogs/p/jsp.html 1.要实现图片上传,首先需要一个组件,这里我用的是smartupload.jar可以到这里下载ht ...

  3. kindeditor图片上传 struts2实现

    一.kindeditor以及struts2部署搭建不再赘述,如需要请参考kindeditor使用方法 Struts2框架搭建 二.kindeditor图片上传所依赖jar包在kindeditor\js ...

  4. JSP+Servlet中使用jspsmartupload.jar进行图片上传下载

    JSP+Servlet中使用cos.jar进行图片上传 upload.jsp <form action="FileServlet" method="post&quo ...

  5. JSP+Servlet中使用cos.jar进行图片上传(文件上传亦然)

    链接:JSP+Servlet中使用jspsmartupload.jar进行图片上传下载 关于cos.jar,百度百科只有这么几句话(http://baike.baidu.com/subview/406 ...

  6. ckeditor+jsp+spring配置图片上传

    CKEditor用于富文本输入是极好的,它还有一些插件支持扩展功能,其中图片上传就是比较常用到的.本文简单记录我的实现步骤. 1.CKEditor除了提供三种标准版压缩包下载,还可根据自己的需求进行个 ...

  7. jsp+springmvc实现文件上传、图片上传和及时预览图片

    1.多文件上传:http://blog.csdn.net/a1314517love/article/details/24183273 2.单文件上传的简单示例:http://blog.csdn.net ...

  8. jsp中简易版本的图片上传程序

    1.下载相应的组件的最新版本 Commons FileUpload 可以在http://jakarta.apache.org/commons/fileupload/下载 附加的Commons IO   ...

  9. Ueditor1.4.3.3+springMvc+maven 实现图片上传

    前记:由于项目中需要有一个新增数据并且要能支持表格图片上传的功能.使用了ueditor控件.为实现这个功能,从一开始什么都看不懂,到一直连着弄了5天,总算是有了眉目.在此记录一下以便能帮到可以和我一样 ...

随机推荐

  1. ajax获取数据后怎么去渲染到页面?

    $.ajax({ url:"apiAttachmentAction_uploadAttachment.action", type:"post", data:fo ...

  2. 使用Angular 4、Bootstrap 4、TypeScript和ASP.NET Core开发的Apworks框架案例应用:Task List

    最近我为我自己的应用开发框架Apworks设计了一套案例应用程序,并以Apache 2.0开源,开源地址是:https://github.com/daxnet/apworks-examples,目的是 ...

  3. OGNL表达式与EL表达式

    一.OGNL表达式 a)什么是OGNL? OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言, 通过它简单一致的表达式语法.主要功能:    ...

  4. ConcurrentHashMap源码解析

    转自:http://www.iteye.com/topic/344876 ConcurrentHashMap是Java 5中支持高并发.高吞吐量的线程安全HashMap实现. 实现原理 锁分离 (Lo ...

  5. linux三剑客之sed命令

    一.前言 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件等等.如果我们相对这些文件进行一些编辑查询等操作时,我们可能会想到一些vi,vim,cat,more等命令.但是这些命令 ...

  6. 为Play初学者准备的Scala基础知识

    1 前言 本文的主要目的是为了让Play Framework的初学者快速了解Scala语言,算是一篇Play Framework的入门前传吧.使用PlayFramework可以极大的提高开发效率,但是 ...

  7. java中多种写文件方式的效率对比实验

    一.实验背景 最近在考虑一个问题:“如果快速地向文件中写入数据”,java提供了多种文件写入的方式,效率上各有异同,基本上可以分为如下三大类:字节流输出.字符流输出.内存文件映射输出.前两种又可以分为 ...

  8. Fast Walsh-Hadamard Transform——快速沃尔什变换

    模板题: 给定$n = 2^k$和两个序列$A_{0..n-1}$, $B_{0..n-1}$,求 $$C_i = \sum_{j \oplus k = i} A_j B_k$$ 其中$\oplus$ ...

  9. swfit - 实现类似今日头条顶部标签和底部内容的动态解决方案

    TYPageView TYPageView 类似今日头条 的标签导航解决方案,支持多种样式选择,基于swift3.0,支持文字颜色动态变化,底部选中线的动态变化 配图: 使用方法: let title ...

  10. Azure Messaging-ServiceBus Messaging消息队列技术系列-索引篇

    Azure Messaging ServiceBus Messaging相关的技术系列,最近已经整理了不少了,统一做一个索引链接,置顶. 方便查找,并后续陆陆续续再增加. 学习消息队列技术,可以先看第 ...