最近一直用SmartUpload这个组件处理附件上传,但SmartUpload对于较大的文件支持却是很差劲。看它的源代码,发现它是把一个请求全部放入一个Byte数组里,可想而知道,如果请求里的附件数据一大的话,这个数据也要很大。我在做一个项目的时候,用SmartUpload处理附件上传,上传一个10M的文件就会出错,查看日志是因为内存分配异常。于是我就对该组件进行了一下修改。
修改的原理就是用一个文件存储一个请求的数据,再从这个文件中读取相关数据。这样就把用于存储请求的字节数组抛弃,改用一个文件对象(因为该文件的名称固定,所以可能导到多处理器处理时效率低)。同时加入一个类ParamenterSample,用于记录每一个参数在文件的起始位置和大小。
当上传文件时就调用mySmartUpload.myUpload()即可,调用mySmartUpload.save()进行文件存储。
附修改后的代码。
分享到:
- 2009-02-19 13:12
- 浏览 836
- 评论(1)
- 论坛回复 / 浏览 (1 / 3054)
- 查看更多
相关推荐
这一改进使得开发者能够处理包含中文字符的文件名,保证了文件上传的正确性。 2. 表单元素值的编码转换:除了文件名,表单中的其他元素值(如文本输入、文本区域等)也存在编码问题。该版本的JspSmartUpload修复了...
在这个案例中,主要的改进是针对字符编码问题,特别是针对UTF-8和中文乱码的处理。在Java和Web开发中,字符编码是一个常见且重要的问题,尤其是当处理包含非ASCII字符(如中文)的数据时。UTF-8是一种广泛使用的...
SmartUpload是一款功能强大的Java上传组件,它为Web应用提供了便捷的文件上传解决方案。这款开源工具在Web开发中被...同时,由于SmartUpload是开源项目,开发者还可以参与社区,贡献自己的代码,推动项目的改进和发展。
jspSmartUpload_CN.jar 上传可以使用中文名字,是原版的改进版
支持中文文件名的smartupload的jsp上传组件。 个人做了一点改进,改变了下载中文文件名乱码问题。
如果你在项目中需要实现一些特殊功能,比如添加额外的安全检查、优化文件存储策略或改进用户体验,你可以直接修改源码,快速实现定制化需求。这种灵活性是很多闭源组件无法比拟的。 在使用SmartUpload时,首先需要...
关键的改进在于`MyFileUpload.java`文件,这个文件中的一行代码实现了对文件名编码的转换,确保了文件名在上传过程中的完整性。 文件上传的流程通常包括以下步骤: 1. **前端表单设置**:在HTML页面中创建一个`...
通过这些改进,"jspsmartupload支持中文"的版本解决了许多开发者在处理中文文件上传时的痛点,提升了用户体验,也增加了组件的适用范围。在实际开发中,结合这个组件,可以更便捷地处理包括中文在内的多语言文件上传...
源码分析对于学习和改进软件设计模式、异常处理和性能优化等技巧是十分有价值的。 标签“工具”则表明SmartUpload被视作一个开发者工具,用于辅助开发过程,提升开发效率。在实际项目中,选择并正确使用这样的工具...
`secondupload`可能是包含一个二次开发或改进的上传示例。在实际应用中,你可以按照以下步骤集成JSpsmartUpload: 1. **引入库文件**:将`jspsmartupload`目录下的JAR包添加到项目的类路径中。 2. **创建HTML页面**...
在描述中提到,我们使用的SmartUpload是其新版本1.2,它可能包含了一些改进和优化,使得文件上传的处理更加高效和便捷。 首先,让我们了解文件上传的基本流程。当用户在网页上选择文件并提交表单时,这些文件数据会...
Servlet 3.0是Java EE的一部分,它引入了许多改进,使得文件上传变得更加简单和高效。本篇文章将深入讲解如何使用Servlet 3.0实现文件上传功能。 一、Servlet 3.0新特性 Servlet 3.0标准放宽了对web.xml的依赖,...
接下来,为了提高用户体验,我们可以进行一些高级改进: - **预览功能**:在用户选择文件后,可以添加JavaScript来显示预览图像。这可以通过监听文件域的`onchange`事件,读取文件内容并显示预览图片来实现。 - **...
这个压缩包提供的组建源码,专门针对中文乱码问题进行了优化,基于jspsmartupload库进行了改进,确保了在处理文件名时不会出现编码问题,从而提高了用户体验。 首先,我们要了解Java中的文件上传原理。在HTTP协议中...
Java开源工具在软件开发中扮演着至关重要的角色,它们提供了丰富的功能,帮助开发者高效地完成各种任务。...同时,开源社区鼓励分享和改进,如果发现任何问题或有新的需求,都可以参与进来,为这些工具做出贡献。
`MyJspSmartUpload`是一个基于`jspSmartUpload`的改良版,它为开发者提供了更易理解和使用的接口,尤其是在处理中文乱码问题上有了显著的改进。下面将详细探讨这一组件的关键知识点。 首先,`jspSmartUpload`是一个...
我个人认为功能已经与xiaoxiang/jspsmartupload 功能相当。做出的修改如下: (1) 完美支持中文文件名,同样支持国际化文件名。 (2) 对源代码进行优化,更加易懂。 (3) 增加统计上传文件的个数统计。 (4) ...
版本号5.0.5表明这是一个较旧的版本,可能不包含较新版本的一些特性,但对基础的数据库操作应该是足够的。 最后,`jspsmartupload.jar`并不是一个JDBC驱动,而是用于Java Web应用的文件上传组件。SmartUpload库允许...
在描述中提到的SmartUpload,虽然也是一个流行的文件上传库,但在处理中文文件名时可能会遇到乱码问题,而UploadBean在这方面表现得更好。 UploadBean的主要功能包括: 1. **多文件上传**:UploadBean支持一次性...
2. **企业常用开源组件技术**:如JFreeChart和Rchart图表生成,Log4j日志记录,FileUpload和SmartUpload文件上传,iText PDF生成,POI Excel操作,JUnit单元测试,Quartz定时任务调度,以及JMail电子邮件系统等。...