javaWeb中在servlet中response下载图片

package org.servlet.demo;

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.URL;

import java.net.URLEncoder;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* 测试在servlet中,发送请求 下载图片

*

* @author k.sea

*

*/

public class DownLoadImageServlet extends HttpServlet {

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

// 获取当前目录的图片路径

// String path=this.getServletContext().getRealPath("/image/tuxing.png");

String path=this.getServletContext().getRealPath("/image/水星.png");

// 获取文件名

String fileName=path.substring(path.lastIndexOf("\\")+1);

System.out.println(fileName);

//制定浏览器头

//在下载的时候这里是英文是没有问题的

//resp.setHeader("content-disposition", "attachment;fileName="+fileName);

//如果图片名称是中文需要设置转码

resp.setHeader("content-disposition", "attachment;fileName="+URLEncoder.encode(fileName, "UTF-8"));

InputStream reader = null;

OutputStream out = null;

byte[] bytes = new byte[1024];

int len = 0;

try {

// 读取文件

reader = new FileInputStream(path);

// 写入浏览器的输出流

out = resp.getOutputStream();

while ((len = reader.read(bytes)) > 0) {

out.write(bytes, 0, len);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

if (reader != null) {

reader.close();

}

if (out != null)

out.close();

}

}

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(req, resp);

}

}

时间: 2024-11-07 20:22:43

javaWeb中在servlet中response下载图片的相关文章

web.xml中在Servlet中获取context-param和init-param内的参数

引自:http://blog.csdn.net/yakson/article/details/9203231 web.xml里面可以定义两种参数:1.application范围内的参数,存放在servletContext中,在web.xml中配置如下: <context-param> <param-name>context/param</param-name> <param-value>avalible during application</para

java学习篇(一)从网络下载图片

(1)在java中,通过网络,下载图片. import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; /** * 通过URL,从网络下载图片 * @author TF */ public class Imag

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

JSP+Servlet中使用cos.jar进行图片上传 upload.jsp <form action="FileServlet" method="post" enctype="multipart/form-data"> <input type="file" name="myfile"> <input type="text" name="cmt&q

javaweb中的servlet相关知识

class01 javaweb基础 一.OSI参考模型: 应用层.表示层.会话层 传输层. 网络层. 数据链路层. 物理层一共七层 二.与OSI参考模型对应的TCP/IP四层模型: 应用层. 传输层. 网际层. 网络接口层 三.http协议的主要特点: 遵循请求/响应模型 无连接:每次连接只处理一个请求 处理完请求后就释放连接 无状态:http协议对于事物处理没有记忆能力 即每次连接互不影响 灵活:可以传输任意类型数据对象 简单快捷:客户端向服务器发送请求时,只需要传送请求和路径 四.http协

Android开发中使用七牛云存储进行图片上传下载

Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储原理,上面这幅图片是官方给出的原理图,表述当然比较清晰了.可以看出,要进行图片上传的话可以分为五大步: 1. 客户端用户登录到APP的账号系统里面: 2. 客户端上传文件之前,需要向业务服务器申请七牛的上传凭证,这个凭证由业务服务器使用七牛提供的服务端SDK生成: 3. 客户端使用七牛提供的客户端S

Android中使用HttpURLConnection实现GET POST JSON数据与下载图片

Android6.0中把Apache HTTP Client所有的包与类都标记为deprecated不再建议使用 所有跟HTTP相关的数据请求与提交操作都通过HttpURLConnection类实现,现实是 很多Android开发者一直都Apache HTTP Client来做andoird客户端与后台HTTP接口数 据交互,本人刚刚用HttpURLConnection做了一个android的APP,不小心踩到了几个 坑,总结下最常用的就通过HttpURLConnection来POST提交JSO

servlet中的request和response

利用3到4天的时间,把servlet中的request和response对象视频看了一遍.看完之后,自己总结出来了一些知识点. 学习一个对象的三部曲:首先查看API文档,了解以及掌握对象的一些常用的方法用法:其次就是解决一些中文乱码之类的问题:最后就是该对象的应用了. 好了,先来说说response对象吧. 1.解决用outputStream输出中文的乱码问题. //1.程序的数据以什么码表输出了,程序就要控制浏览器以什么码表打开 response.setHeader("content-type

[转]JSP或servlet中(以及上传下载文件)中文乱码或不显示的解决方案

时间 2014-04-14 14:33:44  CSDN博客 原文  http://blog.csdn.net/xby1993/article/details/23677375 主题 ServletJSP JSP或servlet中中文乱码的解决方案: 1.以POST请求方式: 在获取请求参数之前设置: request.setCharacterEncoding("utf-8"); 设置输出编码: response.setContentType("text/html;charse

servlet中request和response

转自:http://www.cnblogs.com/xdp-gacl/p/3798347.html 一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息. 二.Request常用方法 2.1.获得客户机信息 getRequestURL方法返回客户端发出请求时的完整URL. getRequestURI方法返回请求