`
tianke66
  • 浏览: 188006 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

使用jspSmartUpload的下载文件的经验教训

阅读更多
,昨天晚上用jspSmartUpload下载文件,写了一个下载的页面(Download.jsp)如下:
<%@ page contentType="text/html;charset=gb2312" %>
 <html>
<%@ page import="java.io.*,mail.util.Encoding" %>
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<%
  String filename =Encoding.encodingUnicode(request.getParameter("filename"));
  mail.DbBase dbbase=mail.DbBase.getInstance();
  String path=dbbase.getPath();
  // 初始化
  mySmartUpload.initialize(pageContext);
  // 设定contentDisposition为null以禁止浏览器自动打开文件,
  //保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
  //doc时,浏览器将自动用word打开它。扩展名为pdf时,
  //浏览器将用acrobat打开。
  mySmartUpload.setContentDisposition(null);
  // 下载文件
  if(filename!=null){
    mySmartUpload.downloadFile(path+filename);
  }
%>
</body>
</html>
执行下载时,文件能正确下载,但是总是报错。

java.lang.IllegalStateException: getOutputStream() has already been called for this response
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ?>后来还才发现,执行下载的页面,在Java脚本范围外(即<% ...%>之外),不要包含HTML代码、空格、回车或换行等字符,有的话将不能正确下载。不信的话,可以在上述源码中%><%之间加入一个换行符,再下载一下,保证出错。因为它影响了返回给浏览器的数据流,导致解析出错。
修改后问题解决。

分享到:
评论

相关推荐

    使用jspSmartUpload实现文件上传下载

    `jspSmartUpload`是一个非常实用的库,它简化了处理文件上传和下载的复杂性。本文将深入探讨如何使用`jspSmartUpload`来实现这两个功能,并详细解释其工作原理和相关知识点。 首先,`jspSmartUpload`是一个基于Java...

    使用jspSmartUpload组件在jsp中实现上传和下载

    1. **下载并解压**:首先从官方网站下载jspSmartUpload的最新版本,使用WinZip或WinRAR解压缩,得到jspSmartUpload.zip文件。 2. **JAR文件处理**:将解压缩后的jspSmartUpload.jar放置于Tomcat的shared/lib目录下...

    JspSmartUpload文件上传下载.zip

    《JspSmartUpload:JavaWeb中的文件上传与下载实践》 在JavaWeb开发中,文件上传和下载功能是常见的需求,而JspSmartUpload库则为开发者提供了方便、高效的文件处理工具。本教程将深入探讨如何利用JspSmartUpload...

    jspSmartUpload.jar下载.rar

    综上所述,"jspSmartUpload.jar下载.rar"是一个教育相关的资源,它提供了在JSP环境中使用SmartUpload库进行文件上传功能的工具和教程。通过学习和实践,开发者能够更好地理解和掌握在Web应用中实现文件上传的技巧。

    使用JSP实现上传下载文件jspSmartUpload

    在本文中,我们将深入探讨如何使用JSP(JavaServer Pages)和jspSmartUpload库来实现文件的上传与下载功能。JSP是一种动态网页技术,它允许开发者在HTML中嵌入Java代码,从而创建交互式的Web应用程序。而jsp...

    jspSmartUpload 组件的上传下载完整实例

    下载即可运行,但是这个压缩包不支持中文名称的文件下载功能,我上传了一个可以下载中文的不会乱码的jspSmartUpload 组件,网址:http://download.csdn.net/detail/huahuahailang/4265620 照着使用,即可下载中文。

    jspSmartUpload上传下载

    上述代码展示了如何在JSP页面中使用SmartUpload实现简单的文件上传。 通过以上内容,我们可以看到JSP SmartUpload为开发者提供了一个高效、便捷的文件上传解决方案。无论是新手还是经验丰富的开发者,都可以快速地...

    使用jspSmartUpload轻松实现上传和下载

    - 在JSP中,使用`jspSmartUpload`提供的标签,如`&lt;s:file&gt;`来创建文件输入字段。 - 添加提交按钮,确保表单提交方式为POST。 3. **编写Servlet处理上传**: - 创建一个Servlet,继承`SmartUpload`类,重写其`...

    jspsmartupload-解决中文乱码

    最近实验室做了一个项目,使用jspsmartupload来实现的文件的上传下载,原来在windows平台运行的挺好,但是后来系统移植到linux平台上,结果在上传或下载的文件名中有中文时就会出现乱码。后来查了网上一些人的解决...

    jspsmartupload组件源码.zip_ jspSmartUpload_jsp_jsp 上传文件_jspSmartUplo

    **JSpsmartupload组件**是一个基于Java的上传文件解决方案,主要应用于JSP(Java Server Pages)环境中。这个组件提供了一种简单且强大的方式来处理用户通过网页上传的文件。在标题和描述中提到的,该组件的核心是用...

    JspSmartUpload上传文件实例.rar

    JspSmartUpload上传文件实例,基于JspSmartUpload组件的文件上传实例,JspSmartUpload 上传类,在JSP中进行文件上传的类,内含文档和使用例子。这个在JSP编程环境下,使用频率还是挺高的,这个例子可帮助你在JSp环境...

    用jspsmartupload下载文件

    详细介绍了用jspsmartupload下载文件的几种方法,非常的实用!

    jspSmartUpload实现文件上传下载

    ### jspSmartUpload实现文件上传下载 #### 一、SmartUpload简介 SmartUpload是一个非常流行的Java Web组件,用于处理文件的上传与下载操作。它简化了文件上传过程中的复杂度,使得开发人员能够轻松地在Web应用中...

    jspSmartUpload.zip

    jspSmartUpload是一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。该组件有以下几个特点: 1、使用简单。在JSP文件中仅仅书写三五行java代码就可以搞定文件的上传或下载,方便。 2...

    jspSmartUpload上传下载组件及使用方法

    `jspSmartUpload` 是一个在JSP(Java Server Pages)环境下广泛使用的上传下载组件,它基于Java技术,提供了强大的文件上传和下载功能。本文将深入探讨`jspSmartUpload`组件的工作原理、主要特性以及如何在实际项目...

    jspSmartUpload使用详解

    使用`jspSmartUpload`之前,你需要在JSP页面中引入必要的JavaScript和CSS文件,以及SmartUpload的Java类库。这些通常可以通过在JSP页面中添加`&lt;script&gt;`和`&lt;link&gt;`标签来实现,确保类库路径正确。 2. **HTML表单**...

    jspsmartupload.jar

     jspSmartUpload是由www.jspsmart.com网站开发的一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。该组件有以下几个特点: &lt;br&gt;1、使用简单。在JSP文件中仅仅书写三五行...

Global site tag (gtag.js) - Google Analytics