最近写上传文件,用到了这个东西,我想很多人对这个并不陌生。
下面贴出代码。
commons-fileupload 在struts1.x中的应用方法
DynaActionForm uf = (DynaActionForm) form;
FormFile file = (FormFile) uf.get("file");
System.out.println(file.getFileName());
String trackno=request.getParameter("trackno");
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss");
String fileName= "temp"+myFmt.format(new Date()) +".xls";
String realPath ="";
realPath = uploadRootPath + File.separator + fileName;
FileOutputStream fout = null;
fout = new FileOutputStream(realPath);
fout.write(file.getFileData());
fout.flush();
fout.close();
在springMVC中
Iterator<FileItem> itr = fileItems.iterator();
Map<String, Object> map = new HashMap<String, Object>();
while (itr.hasNext()) {// 依次处理每个文件
FileItem item = (FileItem) itr.next();
String fileName = item.getName();// 获得文件名,包括路径
if(!item.isFormField()){
if (!"".equals(fileName)) {
File fullFile = new File(item.getName());
File savedFile = new File(savePath, fullFile.getName());
try {
item.write(savedFile);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}else{
if("title".equals(item.getFieldName())){
title = new String(item.getString().getBytes("ISO-8859-1"),"UTF-8");
}
if("kinds".equals(item.getFieldName())){
String category1=new String(item.getString().getBytes("ISO-8859-1"),"UTF-8");
categoryList.add(category1);
}
if("content".equals(item.getFieldName())){
content=new String(item.getString().getBytes("ISO-8859-1"),"UTF-8");
}
}
}
}
如果单独使用的话,如果想获取表单中其他信息 需要判断,才可以
spring上传文件方式:
Iterator<String> it = multiRequest.getFileNames();
while(it.hasNext()){
String key=it.next();
MultipartFile file = multiRequest.getFile(key);
String filename=RandomStringUtils.randomNumeric(10)+file.getOriginalFilename();
//fileUploadHelper.SaveFileFromInputStream(file.getInputStream(), savePath, filename);
final File targetFile = new File(savePath + File.separator + fileName);
file.transferTo(targetFile);
此处是一个多文件上。单文件都可以
和所有新手一起分享下
分享到:
相关推荐
#### 小结 通过这两个实验,学生不仅学会了如何使用common-fileupload组件实现图片上传,还掌握了如何在服务器端读取并显示这些图片。此外,实验二还进一步介绍了如何将图片数据保存到数据库中,并展示了如何对这些...
#### 五、小结 Struts2 支持强大的文件上传功能,这得益于其对 Apache Commons FileUpload 和 Commons IO 库的支持。通过上述步骤,我们可以轻松地实现文件上传功能,并对其进行进一步的定制和优化。掌握这些知识点...
小结 本文介绍了如何使用Struts2的JSON插件处理JSON数据。通过不同的配置选项和示例,读者可以了解到如何灵活地控制返回的JSON数据格式。无论是使用XML配置还是注解方式,Struts2都提供了丰富的选项来满足不同的...
#### 四、小结 通过上述步骤,我们已经成功地在Eclipse环境下搭建好了SSH框架的基础环境。这个过程虽然看似简单,但在实际操作中仍有许多细节需要注意。比如JAR包的版本兼容性问题、配置文件的正确设置等都可能导致...
#### 五、小结 通过本文档的学习,我们不仅了解了如何在 MyEclipse 8 环境中快速搭建 Struts 2 开发环境,还掌握了 Struts 2 的基本配置文件 `struts.xml` 和 `web.xml` 的配置方法。这对于初学者来说是非常有价值...
1.5 小结 第2章 myedipse开发工具对各种框架的支持 2.1 使用jsp的两种模式 2.2 struts框架的实现 2.3 hibernate框架的实现 2.4 jpa框架的实现 2.5 spring框架的实现 2.6 jsf框架的实现 2.7...
#### 小结 通过上述步骤,我们可以成功地在Struts 2中实现文件上传功能。需要注意的是,在实际应用中可能还需要考虑更多的细节,比如文件大小限制、文件类型过滤以及错误处理等。这些额外的功能可以通过调整Struts...
1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...
五、小结 Spring Boot带有进度条的上传功能可以提供更好的用户体验,并且可以提高上传速度和文件安全性。在本文中,我们详细介绍了Spring Boot带有进度条的上传功能的实现方法和相关技术细节,并提供了一个完整的...
1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...
1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...
1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...
小结 通过使用Struts2框架中的`allowedTypes`配置,可以有效地控制哪些类型的文件可以被上传,从而增强系统的安全性和用户友好性。了解如何正确配置`allowedTypes`以及如何使用文件扩展名与MIME类型之间的转换对于...
不过,大多数开发人员会使用库,如Apache Commons FileUpload,它可以自动处理这些细节,使文件上传变得简单。 文件下载则涉及到响应的构建,服务器需要创建一个带有文件内容的HTTP响应,并设置适当的响应头,如...
### 小结 通过以上知识点的介绍,我们可以看出Struts2框架的强大之处,它不仅简化了Web应用的开发流程,还提供了诸如表单标签、国际化支持、文件上传等功能,大大提高了开发效率。希望这些知识点能够帮助开发者更好...