最近小弟在学习struts2 这是其中的一节学习的个人笔记。
PS:仅供与大猫一样的初学者交流参考。
我想很多了解struts的朋友对于fileupload 来说已经很熟悉。一个很好的上传组件,而struts2的上传底层实现也是基于了fileupload而实现。
代码如下:
//建立工厂
DiskFileItemFactory factory = new DiskFileItemFactory();
//取得临时上传目录
String path = request.getRealPath("/upload");
factory.setRepository(new File(path));
factory.setSizeThreshold(1024 * 1024);//大于等于1M放入 磁盘里
//通过servletFileUpload 进行上传处理
ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> list = upload.parseRequest(request);
for (FileItem item : list){
if(item.isFormField()){
String name=item.getFieldName();
String value = item.getString("GBK");
request.setAttribute(name, value);
}else{
String name = item.getFieldName();
String value = item.getName();
int start = value.lastIndexOf("\\");
String fileName =value.substring(start+1);
request.setAttribute(name, fileName);
//item.write(new File(name,path));
OutputStream os = new FileOutputStream(new File(path,fileName));
InputStream is = item.getInputStream();
byte[] buffer = new byte[400];
int length = 0;
while((length=is.read(buffer))>0){
os.write(buffer, 0, length);
}
os.close();
is.close();
分享到:
相关推荐
首先,我们需要理解`Fileupload`的核心组件——`Commons FileUpload`。`Commons FileUpload`是Apache Jakarta项目的一部分,它提供了一个简单且灵活的方式来处理HTTP请求中的多部分数据,即通常用于文件上传的格式。...
总的来说,"编码实现图片上传"是一个涵盖前端交互、后端处理、文件操作和数据库交互的综合过程,而Apache Commons FileUpload组件则为这一过程提供了强大的支持。理解并熟练掌握这一流程,对于任何Web开发者来说都是...
文件上传和下载技术详解 文件上传和下载是许多系统和软件...文件上传和下载技术是许多系统和软件中常见的功能,commons-fileupload.jar是Apache Commons提供的一个文件上传组件,提供了许多有用的API来处理文件上传。
**fileupload组件**是由Apache Commons项目提供的用于处理文件上传的组件。它主要负责解析`request.getInputStream()`中的数据。 **所需JAR包**: - `commons-fileupload.jar`: 核心包。 - `commons-io.jar`: 依赖包...
Commons FileUpload组件能够很好地处理多部分表单数据,并且易于集成到Struts框架中。 3. **Servlet 3.0 的 Part**:Servlet 3.0规范中引入了一种新的文件上传机制——Part对象。尽管这种方式更为现代且功能强大,但...
在本篇“Struts2学习笔记三”中,我们将探讨Struts2中处理文件上传的核心组件和拦截器,以及如何在实际应用中实现文件上传。 1. 文件上传组件: - jspSmartUpload:这是一个早期用于模型1的上传组件,现在已经被更...
- `commons-fileupload-1.2.2.jar`: 文件上传组件。 - `commons-io-2.0.1.jar`: 文件操作支持库。 - `commons-lang-2.5.jar`: Java 语言包增强。 - 可参考 `struts-2.3.15.3-all\struts-2.3.15.3\apps\struts2-...
在视图支持方面,Struts2提供了丰富的标签库,例如在文件上传功能中,可以使用`s:file`组件来定义上传表单。要实现文件上传,需要引入commons-fileupload和commons-io库,定义对应的领域对象FileInfo,并配置struts....
- **commons-fileupload-1.2.1.jar**:用于支持文件上传功能,自2.1.6版本起,必须引入此包才能正常使用文件上传功能。 **特别说明**:在Struts2-2.1.6版本中,必须导入commons-fileupload-1.2.1.jar,因为其中包含...
笔记可能会讲解如何使用Servlet和Apache Commons FileUpload库实现这些功能。 10. **错误处理和日志记录**:在开发过程中,正确处理异常和记录日志是必不可少的。笔记可能包含如何配置错误页面,以及使用log4j等...
本篇笔记主要对比了Struts1和Struts2的区别,并深入讲解了Struts2中的文件上传和下载功能。 首先,Struts2在Action类的设计上比Struts1更加灵活。Struts1要求Action类继承自Action类,而Struts2的Action可以是任意...
笔记可能涉及使用Commons-FileUpload库处理文件上传,以及如何创建下载链接。 九、WebSocket WebSocket是提供双向通信的协议,使得服务器可以主动向客户端推送数据。笔记可能简单介绍WebSocket的使用和Java API。 ...
WebUploader是一款强大的JavaScript文件上传组件,它提供了丰富的API和灵活的配置选项,使得在.NET MVC环境中实现文件上传变得简单易行。本文将深入探讨WebUploader在.NET MVC环境下的应用,以及如何实现图片上传和...
### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...
### 传智播客Struts2全程学习...- `commons-fileupload-1.2.1.jar`:用于文件上传的组件。 #### Struts2应用的配置文件 Struts2的配置文件主要负责定义Action、拦截器和其他配置信息。示例配置文件如下: ```xml ...
这可能需要用到Apache Commons FileUpload处理文件上传,Git或SVN进行版本管理。同时,为了实现多用户协作,可能需要集成WebSocket实现实时通信。 最后,为了提升用户体验,可能需要引入AJAX(Asynchronous ...
在Struts框架中,实现文件上传主要依赖于Apache Commons FileUpload组件。该组件提供了强大的文件上传功能,可以轻松处理多部分请求,包括普通表单字段和文件字段。 #### 使用Commons FileUpload进行文件上传 在...