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

对使用http下载的理解(1)-文件下载后直接打开找不到文件

    博客分类:
  • java
阅读更多

今天我的同事遇到了一个奇怪的问题:

现描述如下:
他做了一个下载excel的功能,单击【下载】按钮后弹出一个保存对话框,直接保存没有问题,但是直接打开就会报找不到指定的文件。经过一番的查找终于找到了问题的原因:

在他的servlet的开始部分有下面一行代码:

 
response.setHeader("Cache-Control","no-cache"); //不缓存临时文件



对http下载的理解:???还不完全理解
//在服务端使用response.getWriter().writ("...")
暂时只简单说下单击弹出对话中的【打开】按钮时在客户端执行的操作
首先将下载的文件保存到IE的临时文件夹下,
然后再执行打开文件的操作。

因为在服务器端返回文件时加了no-cache,文件保存到IE的临时文件夹后就被立即删除了,
所以在执行打开操作时就会报找不到指定的文件错误。

解决方法:
将no-cache那句话去掉就可以了,呵呵


 
补充:response.setHeader("Expires","0");//制定相对的过期时间,0:表示立即失效  

分享到:
评论

相关推荐

    jd_gui工具直接打开jar文件,显示源代码

    标题中的“jd_gui工具直接打开jar文件,显示源代码”是指使用JD-GUI这款软件来查看Java可执行jar包中的源代码。JD-GUI是一款独立的图形化工具,它允许开发者查看Java字节码反编译后的源代码,这对于调试、学习或者...

    MFC对话框下点击控件直接打开文件文件

    - 在打开、读取或写入文件过程中可能出现错误,如文件不存在、无权限等。应该使用`CFile::GetStatus()`或`CFile::GetLength()`等函数检查文件状态,并捕获异常来处理错误情况。 7. **安全编程** - 记得在操作完成...

    文件上传下载-springboot-demo.zip

    3. **文件读取**:使用`FileInputStream`打开文件,并将其内容流化到HTTP响应中。 4. **响应头**:添加Content-Disposition头,设置`attachment; filename=filename.ext`,这样浏览器就会提示用户保存文件,而不是...

    js打开浏览器文件下载框

    首先,我们需要理解浏览器的安全策略,因为出于安全考虑,浏览器对直接访问本地文件系统有严格的限制。 一、浏览器的同源策略与安全限制 浏览器的同源策略是一项重要的安全机制,它限制了来自不同源的脚本之间交互...

    win7解决IE下载excel时直接在IE浏览器中打开

    标题中的“win7解决IE下载excel时直接在IE浏览器中打开”指的是Windows 7操作系统中,用户在使用Internet Explorer(IE)浏览器下载Excel文件时,系统可能会默认直接在浏览器内打开,而不是保存到本地。这可能导致...

    JAVA直接打开本地文件

    在Java编程语言中,直接打开本地文件是一项基本但至关重要的任务。这主要涉及到I/O(输入/输出)操作,这是所有程序与外部世界交互的基础。本文将深入探讨如何使用Java来打开本地文件,包括HTML文件和文本文件。 ...

    java下载文件到指定路径(不打开窗口)

    ### Java下载文件到指定路径(不打开窗口) #### 概述 本文档主要介绍如何使用Java编程语言实现从网络上下载文件并将其保存至本地指定路径的功能,且在执行过程中不会弹出任何用户界面窗口。这种方法非常适合后台...

    java web文件上传-下载-查看操作

    文件下载涉及到服务器将文件发送回客户端,让用户可以在本地保存或打开。主要步骤如下: 1. **定位文件**:在服务器端,确定要提供下载的文件路径。 2. **设置响应头**:使用`HttpServletResponse`设置响应头,包括...

    Web Api 通过文件流 下载文件到本地实例

    这通常涉及到文件系统的操作,如`System.IO.File.OpenRead()`,用于打开一个文件流。 7. **异步编程**: 为了提高性能,Web API控制器方法常常使用异步编程,如`async`和`await`关键字,以避免阻塞线程,尤其是在...

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

    本篇文章将探讨如何使用Java Servlet实现在浏览器中打开PDF文件。首先,我们需要理解Servlet的工作原理和PDF文件的处理方式。 Servlet是Java编程语言中的一个接口,它定义了Web服务器与Java代码之间的交互方式。当...

    checkra1n0.10.1.iso-checkra1n镜像文件

    1. 使用合适的软件(如Rufus)将ISO文件刻录到USB驱动器。 2. 将目标苹果设备连接到电脑,确保设备已解锁并进入DFU模式(设备恢复模式)。 3. 使用刻录好的USB驱动器启动电脑,进入checkra1n界面。 4. 跟随界面上的...

    JD-GUI打开 .class 文件

    这使得开发者能够理解程序的执行逻辑,即使原始的`.java`文件丢失或不可用。 2. **图形界面**: JD-GUI提供了一个直观的图形用户界面,用户可以方便地浏览类、方法、变量等元素,而无需通过命令行或其他复杂的工具。...

    7z插件 Asar7z,用于7z打开asar文件

    此外,Asar7z插件的使用还涉及到文件系统的抽象和版本兼容性问题。由于asar文件内部有自己的文件结构,因此在进行修改操作时,插件需要正确解析并维护这个结构。同时,随着7-Zip和asar格式的更新,插件可能需要适时...

    KUKA机器人出现“如果文件以写入方式打开,则不允许选择或执行程序”的解决办法.docx

    在使用KUKA机器人进行自动化作业时,可能会遇到一个技术问题,即“如果文件以写入方式打开,则不允许选择或执行程序”。这个问题通常出现在你尝试运行或修改机器人程序时,系统因为检测到某个配置文件(如config文件...

    文件下载-.dll文件-slc.dll文件 文件下载-.dll文件-slc.dll.zip

    在Windows系统中,当您尝试运行一个依赖于slc.dll的程序时,如果该文件缺失或损坏,可能会出现错误提示,如“找不到slc.dll”或“slc.dll丢失”。这时,下载slc.dll文件并将其放在正确的位置通常是解决问题的关键。 ...

    ajax实现java文件下载

    4. **前端接收**:Ajax回调函数接收到响应后,浏览器自动处理响应,启动文件下载,用户可以选择保存或打开文件。 总结起来,Ajax实现Java文件下载是一种提高用户体验的有效手段,通过前后端的协同工作,实现了无...

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

    在本课程设计中,我们将探讨如何实现一个文件下载功能,主要使用Java编程语言。这个功能在许多Web应用程序中都是至关重要的,例如在线教育平台、资源共享网站等。通过编写高效的文件下载代码,我们可以确保用户能够...

    C++http下载文件

    使用WinINet进行文件下载,可以避免开发者直接处理底层网络细节,使得代码更加简洁和易于维护。 1. **初始化WinINet库**:在使用WinINet API之前,需要先调用`InternetOpen()`函数来初始化一个会话。这个函数通常...

    操作系统之文件系统设计一个n 个用户的文件系统,每次用户可保存m 个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施。至少要有create,delete,open,close,read,write等命令

    - **内存管理**:使用内存块(如MFD、UFD和AFD)来存储用户、用户文件和打开文件的相关信息。这些内存块需要有效地链接在一起,以便快速查找和更新文件状态。 - **数据持久化**:用户列表和当前用户文件信息需要...

    myeclipse中直接打开class文件的方法

    在IT行业中,开发人员经常需要查看编译后的`.class`文件,以便理解代码的底层实现或进行调试。MyEclipse作为一款强大的Java集成开发环境,虽然默认并不支持直接打开`.class`文件,但通过插件我们可以实现这个功能。...

Global site tag (gtag.js) - Google Analytics