`

关于jspsmartupload组件使用的一些经验 <<jspSmartUpload上传下载全攻略>>纠错

 
阅读更多
jspSmartUpload上传下载全攻略: http://www.knowsky.com/3136.html
这则帖子介绍了这个组建的基本用法。

以下是我的一些使用经验:
1.<<jspSmartUpload上传下载全攻略>>下载的例子中如果把su.setContentDisposition(null)注释掉,那么response头中:
Content-Disposition:  filename=test.doc
Content-Type: application/x-msdownload;charset=gb2312
浏览器(如IE)会直接将下载的东西打开在内嵌的word程序中。

如果没有注释掉,则response头中:
Content-Disposition: attachment; filename=test.doc
Content-Type: application/x-msdownload;charset=gb2312
多了"attachment; ",浏览器会弹出一个对话框,让用户选择直接打开该文件还是保存下来等。

2.<<jspSmartUpload上传下载全攻略>>下载的例子中提到:

注意,执行下载的页面,在Java脚本范围外(即<% ... %>之外),不要包含HTML代码、空格、回车或换行等字符,有的话将不能正确下载。不信的话,可以在上述源码中%><%之间加入一个换行符,再下载一下,保证出错。因为它影响了返回给浏览器的数据流,导致解析出错。

经过试验,并不正确,即使在%><%之间加上空行、<html>等都不会出错(这些加上的东西被丢弃掉了,没有在response中返回)。原因是jsp中的out对象是个JspWriter,而JspWriter默认是处于buffer模式,且autoFlush="true",输出少量的空行、<html>等字符不足以撑满一个buffer,所以JspWriter还不会调用response.getWriter()去创建JspWriter需要关联的PrintWriter对象(参见JspWriter api doc)。而在do_download.jsp接下来的代码中,su.downloadFile()中却调用了response.getOutputStream(),输出了整个文件内容,因此jsp中的out中的内容会被丢弃而不会输出。

3.<<jspSmartUpload上传下载全攻略>>中:
SmartUpload类的getSize()方法返回的是请求内容的总长度,而不是“上传文件数据的总长度”。

4. jspsmartupload存在的问题:
(1)对中文支持的不足(文件名中含中文的文件的上传、下载等);
(2)容易出现OutOfMemoryError,因为SmartUpload类在upload()方法中会将请求的内容一次性全部读入到内存:
m_totalBytes = m_request.getContentLength();
m_binArray = new byte[m_totalBytes];
(3)功能较简单,编程实现上不够正规。

因此,不推荐再使用jspsmartupload组件,应该转而使用apache的commons fileupload, struts中的实现或一些ajax框架中的实现等。


分享到:
评论

相关推荐

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

    使用jspSmartUpload组件在jsp中实现上传和下载 在现代Web开发中,文件上传与下载是常见的需求之一,尤其在企业级应用、个人博客、图片分享等场景中尤为重要。jspSmartUpload作为一款专为JSP设计的文件上传组件,以...

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

    采用jspSmartUpload 组件实现的上传下载的完整实例 下载即可运行,但是这个压缩包不支持中文名称的文件下载功能,我上传了一个可以下载中文的不会乱码的jspSmartUpload 组件,网址:...

    JspSmartUpload组件+源码+使用攻略

    **JspSmartUpload组件详解及使用攻略** JspSmartUpload是一个功能强大的Java Web上传组件,专为处理用户在网页上提交的多文件上传而设计。它简化了在JSP(JavaServer Pages)环境中处理文件上传的过程,使得开发者...

    用jspsmartupload进行上传下载

    ### 使用jspSmartUpload进行文件上传与下载 #### jspSmartUpload简介 jspSmartUpload是一款用于处理文件上传功能的Java库,适用于JSP环境。它能够简化文件上传过程中的复杂度,提供一系列便捷的功能来帮助开发者...

    jspSmartUpload组件上传和下载代码

    `jspSmartUpload`组件是Java Web开发中用于实现文件上传和下载功能的一款强大工具,尤其在基于JSP的B/S(Browser/Server)架构应用程序中,它以其便捷性和高效性受到开发者们的青睐。本篇文章将深入探讨`jsp...

    使用jspSmartUpload实现文件上传下载

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

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

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

    jspSmartUpload组件

    `jspSmartUpload`是一款在Java Web开发中广泛使用的文件上传与下载组件,尤其在基于JSP(JavaServer Pages)的应用中,它提供了方便、高效的文件处理功能。本篇文章将深入探讨该组件的核心特性、工作原理以及如何在...

    jspsmartupload.jar

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

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

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

    jspSmartUpload组件zip压缩版

    `jspSmartUpload`是一款在Java Web开发中广泛使用的开源文件上传组件,特别适合在JSP页面上实现文件上传和下载功能。这个组件以其强大的功能、简单易用的API以及良好的社区支持,深受开发者喜爱。本篇文章将深入探讨...

    利用jspSmartUpload组件进行文件上传

    在提供的`JspSmartUpload.chm`文件中,通常包含了组件的详细文档,包括API参考、示例代码和常见问题解答等,这对于理解和使用JSP Smart Upload非常有帮助。通过查阅这个帮助文件,开发者可以更深入地了解如何利用该...

    jspSmartUpload上传下载

    《深入理解JSP SmartUpload上传下载机制》 在Web开发中,文件上传和下载功能是不可或缺的一部分,尤其是在处理用户交互和数据交换时。JSP SmartUpload是一个常用的Java库,专门用于处理文件上传任务,它简化了在JSP...

    jspSmartupload组件

    原始的jspSmartupload组件不支持中文上传,所以我把这个源码进行修改后,现在可以支持中文上传了,你的工程也必须是在统一的utf-8的编码环境下,因为我做的修改,就是将中文用utf-8进行编码。 我只测试了上传功能,...

    JAVA Web程序设计-3期(KC006) 13-1-3应用jspSmartUpload组件实现文件上传的操作步骤.doc

    ### 使用jspSmartUpload组件实现文件上传的操作步骤 #### 学习目标 - 掌握使用jspSmartUpload组件实现文件上传的基本方法。 #### 知识要点 - jspSmartUpload组件中上传类的使用。 - jspSmartUpload组件的适用场景...

    jspSmartUpload上传下载组件(*.jar)

    jspSmartUpload上传下载组件(*.jar)

    JspSmartUpload组件及源码

    JspSmartUpload是一款在JSP环境下广泛使用的文件上传组件,它简化了在Web应用中处理文件上传的过程。这个组件由Uriel Janosse开发,提供了一个直观且易于使用的API,使得开发者能够方便地实现文件上传功能,包括多...

    jspSmartUpload组件上传下载详解

    ### jspSmartUpload组件上传下载详解 #### 一、jspSmartUpload组件介绍 jspSmartUpload是jspsmart.com网站提供的一款高效、全面的文件上传组件,适用于Java Server Pages(JSP)开发环境。该组件主要特点包括: 1...

Global site tag (gtag.js) - Google Analytics