java中如何设置下载文件

如果想要设置某一url为下载文件的方法如下

需要设置文件响应类型,使用response.setContentType,比如jpeg格式的图片。如果想要访问该页面时出现下载保存的窗口,使用response.setHeader("Content-Disposition", "attachment;filename="+filename.getName())函数。也可以是pdf文件,或者其他格式的,如果想要查找浏览器可以识别什么格式的文件,需要到服务器的配置文件中找,比如tomcat服务器中搜索mime-mapping即可查看浏览器是别的文件类型。

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

        response.setCharacterEncoding("utf-8");

        File filename = new File("D:\\chengxu\\ML\\2.jpg");
        response.setContentType("image/jpeg");
        response.setHeader("Content-Disposition", "attachment;filename="+filename.getName());

        OutputStream out = response.getOutputStream();

        FileInputStream fileinput = new FileInputStream(filename);

        byte[] charbuffer = new byte[1024];
        int length = 0;
        while ((length=fileinput.read(charbuffer))!=-1) {
            out.write(charbuffer, 0, length);
        }

    }
时间: 2024-10-14 11:23:08

java中如何设置下载文件的相关文章

android中使用Http下载文件并保存到本地SD卡

---恢复内容开始--- 1.AndroidMainfest.xml中设置权限 1 <uses-permission android:name="android.permission.INTERNET"></uses-permission> 2 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission

JAVA中如何设置代理服务器,取消代理服务器

1.简介 代理服务器(Proxy Server)是一种重要的服务器安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到防火墙的作用.代理服务器大多被用来连接INTERNET(国际互联网)和INTRANET(局域网).主要功能:就是代理网络用户去取得网络信息.形象的说,它是网络信息的中转站.本文主要介绍如何使用java代码设置代理服务器. 主服务器为了防止被伪用户攻击,统一让用户通过代理服务器去访问主服务器,这样做的安全性是显而易见的.一个图理解代理服务器及作用 2.使用 在JAV

java中调用kettle转换文件

java中调用kettle转换文件 通过命令行也可以调用,然后java中调用命令行代码也可以:这样没有和java代码逻辑无缝集成.本文说明kettle5.1中如果通过其他API和java代码无缝集成:网上大多数资料都是低版本的,在kettle5.x中已经不能运行. 1.       需要哪些jar文件 以kettle开头的是必须,上图最下面三个也要:红色框中的两个是我测试转换用到的,分别是生成UUID和文件. 要是少了jar文件,运行程序一定报错,大家根据错误到kettle安装目录LIB中找相应

JAVA中BufferedReader设置编码的必要性

实验环境 Myeclipse 默认编码 UTF-8 先看两种读文件的方式: 方式一: InputStreamReader fReader = new InputStreamReader(new FileInputStream(filePathString),"UTF-8"); BufferedReader reader = new BufferedReader(fReader); String line; while ((line = reader.readLine()) != nul

实现在 .net 中使用 HttpClient 下载文件时显示进度

原文:实现在 .net 中使用 HttpClient 下载文件时显示进度 在 .net framework 中,要实现下载文件并显示进度的话,最简单的做法是使用 WebClient 类.订阅 DownloadProgressChanged 事件就行了. 但是很可惜,WebClient 并不包含在 .net standard 当中.在 .net standard 中,要进行 http 网络请求,我们用得更多的是 HttpClient.另外还要注意的是,UWP 中也有一个 HttpClient,虽然

JAVA中使用FTPClient实现文件上传下载

在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件. 一.上传文件 原理就不介绍了,大家直接看代码吧 /** * Description: 向FTP服务器上传文件 * @Version1.0 Jul 27, 2008 4:31:09 PM by 崔红保([email protected])创建 * @param url FTP服务器hostname

浅谈Android和java中的多线程下载

为什么要使用多线程下载呢? 究其原因就一个字:"快",使用多线程下载的速度远比单线程的下载速度要快,说到下载速度,决定下载速度的因素一般有两个: 一个是客户端实际的网速,另一个则是服务端的带宽.我们经常使用的是单线程下载,也就是下载一个文件就是开启一个线程去请求下载资源. 这里我们不考虑客户端实际网速因素,因为这个因素多变,不好控制.我们主要考虑的因素就是服务端的带宽.那么服务端是如何给每个客户端分配 它的下载带宽的呢???它分配的原理大致是这样的,服务端只会给请求它的每个线程平均分配

java通过http方式下载文件

package com.qiyi; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Map; import java.io

Java Sftp上传下载文件

需要使用jar包  jsch-0.1.50.jar sftp上传下载实现类 package com.bstek.transit.sftp; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import co