`
Junjiejkl
  • 浏览: 62386 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

使用content-disposition响应头(服务器控制浏览器发下载方式打开文件)

阅读更多
package cn.itcast.web.http;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Demo4 extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
		
		//服务器控制浏览器以下载方式打开文件
		File file = new File("d:\\a.jpg");
		//注意位置,通常经况下,放在业务逻辑之前
		response.setHeader("content-disposition","attachment;filename="+file.getName());
		InputStream is = new FileInputStream(file);
		OutputStream os = response.getOutputStream();//对应浏览器的输出流
		byte[] buf = new byte[1024];
		int len = 0;
		while( (len=is.read(buf))>0 ){
			os.write(buf,0,len);
		}
		is.close();
		os.close();
	}
}
分享到:
评论

相关推荐

    c#从ftp服务器上下载文件 丢给浏览器响应

    在C#编程环境中,开发Web应用时,有时我们需要实现从FTP服务器下载文件并直接提供给浏览器的功能。这个过程涉及到FTP协议、HTTP协议以及C#的网络编程知识。下面将详细阐述这一过程的关键步骤和涉及的技术点。 首先...

    Http通过响应头控制浏览器行为

    5. `Content-Disposition`: 可以控制浏览器如何处理响应体内容,如`attachment; filename=example.pdf`会让浏览器下载文件而不是在当前窗口显示。 三、Android中的Http通信实践 在"HttpTest"项目中,我们可以使用...

    Java Servlet实现在浏览器中打开pdf文件

    然后通过"Content-Disposition"头,我们告诉浏览器以"inline"方式显示文件,而不是作为附件下载。如果想让用户下载而非直接打开,可以将"inline"改为"attachment"。 2. 接下来,我们需要在`web.xml`配置文件中注册...

    cgi实现下载文件

    CGI(Common Gateway Interface,通用网关接口)是一种标准,允许Web服务器与外部应用程序交互,以处理动态内容,如表单提交、文件下载等。在这个场景中,我们将探讨如何使用CGI来实现在网页上提供文件下载的功能。 ...

    PHP实现浏览器访问地址栏下载文件功能 PHP输出文件内容到网页,可浏览可下载.zip

    在PHP中实现浏览器访问地址栏下载文件的功能是一项常见的任务,主要涉及到HTTP协议的响应头设置以及文件内容的读取和输出。在这个项目中,我们有两个关键文件:`2017030615453109.pdf` 和 `getpdf.php`。下面我们将...

    Content-Type详解

    在HTTP头中加入Content-Disposition头域,可以指定文件的下载方式和文件名。例如,fprintf( file, "Content-Disposition: attachment; filename=\"%s\" \r\n", fileName);经过测试,html、pdf、gif等原来在网页中...

    C# 下载不在浏览器打开

    `Content-Disposition`用于指示浏览器如何处理响应的内容,可以设置为`attachment`,表示这是一个附件,应该被下载而不是在当前页面中打开。例如: ```csharp Response.AppendHeader("Content-Disposition", ...

    使用.NET向浏览器写入二进制文件

    此外,如果你希望让用户下载而不是在浏览器中打开PDF,可以设置`Content-Disposition`响应头。例如: ```csharp // 添加Content-Disposition头,设置附件名称,并让浏览器弹出保存对话框 Response.AddHeader(...

    springboot-layui调用文件服务器接口实现文件上传下载.docx

    - 下载文件通常涉及设置响应头以触发浏览器的下载行为。在`DownloadController`中,我们应该有一个类似以下的`download()`方法: - 设置响应头`Content-Disposition`,指定文件名,并将文件内容写入响应流。 ```...

    浏览器向服务器下载文件.rar

    在上述代码中,我们从请求参数中获取文件名,然后设置响应头以指示浏览器应以附件形式下载文件。接着,我们打开服务器上的文件并读取其内容,将其写入到HTTP响应的输出流中,从而将文件传输到客户端。 为了使浏览器...

    控制WordExcel在IE中打开,还是下载

    在IT领域,特别是Web开发与办公自动化应用交互的场景下,如何控制Microsoft Office文档如Word或Excel在Internet Explorer(IE)浏览器中的展示方式——即决定是直接在浏览器中打开还是触发下载行为,是一项常见但又...

    C#webapi文件上传下载源码

    接着,设置Content-Type响应头,以指示文件的MIME类型,并设置Content-Disposition响应头,以便浏览器知道如何处理这个文件(如作为附件下载或直接在新窗口中打开)。 以下是一些关键知识点: 1. **C# WebAPI基础*...

    用C#语言从服务器下载文件

    在IT领域,特别是Web开发中,使用C#从服务器下载文件是一个常见的需求。根据给定的文件信息,我们可以深入探讨这一主题,理解其中的关键技术点和实现细节。 ### 使用C#从服务器下载文件:理解与实践 #### 一、基础...

    .net 下载文件.后修改文件名

    - `Content-Disposition`头用于告诉浏览器如何处理文件,"attachment"指示浏览器应将文件作为附件下载,而不是尝试打开。同时,通过`HttpUtility.UrlEncode`对文件名进行编码,防止因特殊字符导致的问题。 - `...

    java+jsp 文件下载(服务器上的文件)

    使用`Content-Disposition`头来告诉浏览器这是一个附件,需要被下载而不是在浏览器中打开。`contentType`设置为`application/octet-stream`,这是大多数文件的标准MIME类型,表示二进制数据。 接下来,我们打开文件...

    JSP实现文件下载---源码

    - **设置缓存策略**:可以控制浏览器是否缓存该文件,避免不必要的重复下载。 - **分块传输**:对于大文件,可以采用分块传输,提高用户体验。 - **权限验证**:在允许用户下载文件前,确保用户有权限访问该文件...

    rfc 2183

    6. **应用场景**:除了邮件系统,Content-Disposition还在Web服务器响应、FTP服务器、文件共享服务等领域中广泛使用。 7. **兼容性**:虽然rfc 2183是一个建议标准,但大多数现代的邮件客户端和Web浏览器都支持...

    课程设计----文件下载

    服务器端需要设置"Content-Disposition"头来指示浏览器以下载方式处理文件,而不是在当前页面内显示。例如,可以设置为`response.setHeader("Content-Disposition", "attachment; filename=yourfile.ext");`这将告诉...

    Java Web文件下载,解决了使用IE11下载文件时所出现的乱码问题

    在Java Web开发中,文件下载是一项常见的功能,尤其在企业级应用中...通过正确设置`Content-Disposition`响应头,并结合URL编码,可以确保文件名在不同浏览器中的一致性。这个项目提供了学习和实践这一技术的良好机会。

    http相应报文头

    此外,还可以通过设置`Content-Disposition`头部来控制浏览器如何处理这些文件,例如: - `Content-Disposition: attachment; filename="example.xls"` 表示强制下载附件。 ##### 3. 发送增量更新到浏览器 在某些...

Global site tag (gtag.js) - Google Analytics