图片的上传

package com.upload;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspFactory;
import javax.servlet.jsp.PageContext;

import com.jspsmart.upload.File;
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;

@SuppressWarnings("serial")
public class DoUploadServlet extends HttpServlet {
 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  response.setContentType("text/html;charset=GB2312");
  PrintWriter out = response.getWriter();
  // 新建一个SmartUploaf对象
  SmartUpload su = new SmartUpload();
  // 得到PageContext对象
  PageContext pageContext = JspFactory
    .getDefaultFactory()
    .getPageContext(this, request, response, null, true, 8192, true);
  // 上传初始化
  su.initialize(pageContext);

try {
   // 上传文件
   su.upload();
   // 将文件保存到指定的目录,并返回上传文件数
   int count = su.save("/js");
   out.print("<center>"+count + "个文件上传成功!<br>" + su.toString()+"</center>");
  } catch (SmartUploadException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  out
    .print("  <style type='text/css'>"
      + "<!--"
      + ".STYLE3 {"
      + " font-size: 12px"
      + "}"
      + "-->"
      + "</style>"
      + " <table width='600' border='1' id='tableInfo'"
      + "  style='border: 1px solid #CCCCCC; '"
      + "  cellpadding='0' cellspacing='0' align='center'>");
  // 逐一提取上传文件信息,同事保存文件
  for (int i = 0; i < su.getFiles().getCount(); i++) {
   File file = su.getFiles().getFile(i);
   // 显示当前文件信息

out
     .print("  <tr>"
       + "   <td width='28%'>"
       + "    <div align='right' class='STYLE3'>"
       + "     表单项名(getFieldName):           </div>          </td>"
       + "   <td width='72%'>"
       + file.getFieldName()
       + "          </td>"
       + "  </tr>"
       + "  <tr>"
       + "   <td>"
       + "    <div align='right' class='STYLE3'>"
       + "     文件长度(getSize):           </div>          </td>"
       + "   <td>"
       + file.getSize()
       + "         </td>"
       + "  </tr>"
       + "  <tr>"
       + "   <td>"
       + "    <div align='right' class='STYLE3'>"
       + "     文件名(getFileName):           </div>          </td>"
       + "   <td>"
       + file.getFileName()
       + "         </td>"
       + "  </tr>"
       + "  <tr>"
       + "   <td>"
       + "    <div align='right' class='STYLE3'>"
       + "     文件扩展名(getFileExt):           </div>          </td>"
       + "   <td>"
       + file.getFileExt()
       + "          </td>"
       + "  </tr>"
       + "  <tr>"
       + "   <td>"
       + "    <div align='right' class='STYLE3'>"
       + "     文件全名(getFilePathName):           </div>          </td>"
       + "   <td>"
       + file.getFilePathName()
       + "          </td>" + "  </tr>");
  }
  out.print(" </table>");
 }
}

图片的下载

package com.upload;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspFactory;
import javax.servlet.jsp.PageContext;

import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;

@SuppressWarnings("serial")
public class DoDownLoadServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

this.doPost(request, response);
 }

public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

response.setContentType("text/html;charset=GB2312");
  //得到 要下载的文件的名称
  String fileName=new String(request.getParameter("fileName").getBytes("ISO8859-1"),"GB2312");
  //得到SmartUpload对象
  SmartUpload su=new SmartUpload();
  //得到PageContext对象
  PageContext pagecontext=JspFactory.getDefaultFactory().getPageContext(this, request, response, null, true, 8192, true);
  //初始化su
  su.initialize(pagecontext);
  //下载
  
  su.setContentDisposition(null);
  try {
   su.downloadFile("/js/"+fileName);
  } catch (SmartUploadException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }

}

相关jar包:http://www.cnblogs.com/cz-xjw/admin/Files.aspx

关于图片上传与下载(Java)的更多相关文章

  1. [python][flask] Flask 图片上传与下载例子(支持漂亮的拖拽上传)

    目录 1.效果预览 2.新增逻辑概览 3.tuchuang.py 逻辑介绍 3.1 图片上传 3.2 图片合法检查 3.3 图片下载 4.__init__.py 逻辑介绍 5.upload.html ...

  2. thinkphp微信开发之jssdk图片上传并下载到本地服务器

    public function test2(){ $Weixin = new \Weixin\Controller\BaseController(); $this->assign('signPa ...

  3. 微信JS图片上传与下载功能--微信JS系列文章(三)

    概述 在前面的文章微信JS初始化-- 微信JS系列文章(一)中已经介绍了微信JS初始化的相关工作,接下来本文继续就微信JS的图片上传功能进行描述,供大家参考. 图片上传 $(function(){ v ...

  4. FTP文件上传和下载(JAVA)

    前文 1.使用FTP的方式进行文件的上传和下载(非SFTP) 2.本人手打,亲测,代码是最简单的,清晰易懂,需要的同学请结合自己的实际添加业务逻辑 2.第三方的jar包:import org.apac ...

  5. 基于Angularjs实现图片上传和下载

    根据ng-file-uoload实现文件上传和下载实现 网上down下来ng-file-uoload.js,在项目中记得引入服务哦. 示例代码: FileUploaderCtrl.$inject = ...

  6. Spring Boot +Bootstrap 图片上传与下载,以及在bootstrap-table中的显示

    1.前台上传: <input type="file" name="file" id="file"> 2.后台的接收与处理: St ...

  7. Spring MVC 上传、下载、显示图片

    目录 1. 准备工作 1.1 数据库表准备 1.2 实体类 User 和 Mapper(DAO) 1.3 pom.xml 依赖包 1.4 SSM 框架的整合配置 2. 控制器 UserControll ...

  8. WebApi2 文件图片上传下载

    Asp.Net Framework webapi2 文件上传与下载 前端界面采用Ajax的方式执行 一.项目结构 1.App_Start配置了跨域访问,以免请求时候因跨域问题不能提交.具体的跨域配置方 ...

  9. 使用KindEditor完成图片上传(springmvc&fastdfs/springmvc&ftp)

    前端使用KindEditor,后台使用Springmvc 1 拷贝KindEditor相关文件到项目中 拷贝KindEditor相关文件到项目中 2 准备一个jsp页面 页面中我准备了一个超链接,点击 ...

随机推荐

  1. jmeter返回结果是乱码及Unicode转中文

    1.结果树中有乱码的处理方式 到bin目录下面修改jmeter的配置文件 使用jmeter进行压测时,如果响应数据的返回结果有乱码,则修改jmeter.properties文件中的该字段的值改为utf ...

  2. 洛谷P1122 最大子树和

    P1122 最大子树和 题目提供者该用户不存在 标签动态规划树形结构 难度普及/提高- 通过/提交54/100 提交该题 讨论 题解 记录 题目描述 小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在 ...

  3. Introduction to Mathematical Thinking - Week 9 评论答案2

    根据 rubic 打分. 1. 我认为,如果说明 m, n 是自然数,所以最小值是 1 会更清楚.所以 Clarity 我给了 3 分.其他都是 4 分,所以一共是 23 分. 2.  我给出的分数 ...

  4. Java中volatile关键字实现原理

    原文地址http://www.cnblogs.com/xrq730/p/7048693.html,转载请注明出处,谢谢 前言 我们知道volatile关键字的作用是保证变量在多线程之间的可见性,它是j ...

  5. python列表和元组相互转换

    # 将列表转化为元组 lst=[11,22,33] t=tuple(lst) print(t,type(t)) # 打印结果:(11, 22, 33) <class 'tuple'> tu ...

  6. 怎样使用Chrome模拟手机浏览器測试移动端网站

    作者:zhanhailiang 日期:2014-10-10 环境说明: Chrome 37.0.2062.124 m 1. 通过[菜单→工具→开发人员工具|Javascript控制台]或[快捷键Ctr ...

  7. Servlet 运行原理

    一:servlet定义 Servlet是一个Java应用程序,运行在服务器端,用来处理客户端请求并作出响应的程序. 二:简单servlet实例 //导入所需的包 import javax.servle ...

  8. T-SQL怎样提高数据库性能

    总结: 1.书写问题 2.表连接方式 3.索引的抉择 4.执行计划之参数嗅探 5.子查询与表连接的效率 6.临时表.CTE.表变量的选择 7.常用sp与select的缓存命中 8.锁(善用nolock ...

  9. 博客没内容可写了怎么办?找BD!

    博客写了一段时间可能会感觉没内容可以写了,或者说同一个领域的内容写多了感觉有点千篇一律,这时要考虑扩展自己的写作领域,怎么去扩展呢?利用关键词工具可以衍生很多长尾词,当然这个有点牵强,有点为优化而优化 ...

  10. c#下载文件,最简单代码

    /// <summary> /// 下载文件 /// </summary> /// <param name="url">下载地址</par ...