热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

javastruts2上传文件

链接:https:www.cnblogs.comwkrbkyp5904787.htmlStruts2文件上传(基于表单的文件上传)•Co

链接:https://www.cnblogs.com/wkrbky/p/5904787.html

Struts2文件上传(基于表单的文件上传)
•Commons-FileUpload组件
–Commons是Apache开放源代码组织的一个Java子项目,其中的FileUpload是用来处理HTTP文件上传的子项目

•Commons-FileUpload组件特点
–使用简单:可以方便地嵌入到JSP文件中,编写少量代码即可完成文件的上传功能
–能够全程控制上传内容
–能够对上传文件的大小、类型进行控制

•需要下载Common-FileUplaod框架地址(当然MyEclipce中Struts2支持里自带有这两个包):
–http://jakarta.apache.org/commons/fileupload/
–下载commons-fileupload-1.2-bin.zip文件
–解压后得到commons-fileupload-1.2.jar

–http://jakarta.apache.org/commons/io/
–下载commons-io-1.3.2-bin.zip文件
–解压后得到commons-io-1.3.2.jar

基于表单的文件上传

•注意:上面是基于表单的上传,在form标签中有一个必须的属性值设置:enctype.

•如果要做文件上传功能必须将enctype值设为multipart/form-data.

•此外,文件上传还需要二个JAR文件支持:

文件上传页面upload.jsp(二选一表单即可)

<%&#64; taglib uri&#61;"/struts-tags" prefix&#61;“s”%>

文件&#xff1a;或者&#xff08;两个表单二选一即可&#xff09;

Struts2.xml

500000000text/plain,application/vnd.ms-powerpoint.txt,.ppt/success.jsp/error.jsp

附加&#xff1a;contentType类型设置

上传Action类UploadAction-简单的保存文件方式

package com.struts;

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class UploadAction extends ActionSupport {

private File uploadImage; //得到上传的文件
private String uploadImageContentType; //得到文件的类型
private String uploadImageFileName; //得到文件的名称public String execute(){System.out.println("fileName:"&#43;this.getUploadImageFileName());System.out.println("contentType:"&#43;this.getUploadImageContentType());System.out.println("File:"&#43;this.getUploadImage());//获取要保存文件夹的物理路径(绝对路径)String realPath&#61;ServletActionContext.getServletContext().getRealPath("/upload");File file &#61; new File(realPath);//测试此抽象路径名表示的文件或目录是否存在。若不存在&#xff0c;创建此抽象路径名指定的目录&#xff0c;包括所有必需但不存在的父目录。if(!file.exists())file.mkdirs();try {//保存文件FileUtils.copyFile(uploadImage, new File(file,uploadImageFileName));} catch (IOException e) {e.printStackTrace();}return SUCCESS;
}public File getUploadImage() {return uploadImage;
}public void setUploadImage(File uploadImage) {this.uploadImage &#61; uploadImage;
}public String getUploadImageContentType() {return uploadImageContentType;
}public void setUploadImageContentType(String uploadImageContentType) {this.uploadImageContentType &#61; uploadImageContentType;
}public String getUploadImageFileName() {return uploadImageFileName;
}public void setUploadImageFileName(String uploadImageFileName) {this.uploadImageFileName &#61; uploadImageFileName;
}

}

上传成功页面&#xff1a;

成功页面.

上传失败页面&#xff1a;

<%&#64; taglib uri&#61;"/struts-tags" prefix&#61;“s”%>

跳转错误页面。。


推荐阅读
  • 在处理大文件上传时,服务端为何无法直接接收?这主要与 PHP 配置文件 `php.ini` 中的几个关键参数有关,如 `upload_max_filesize` 和 `post_max_size`。这些参数分别限制了单个文件的最大上传大小和整个 POST 请求的数据量。为了实现大文件的高效上传,可以通过文件分割与分片上传的方法来解决。本文将详细介绍这一实现方法,并提供相应的代码示例,帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • SQLmap自动化注入工具命令详解(第28-29天 实战演练)
    SQL注入工具如SQLMap等在网络安全测试中广泛应用。SQLMap是一款开源的自动化SQL注入工具,支持12种不同的数据库,具体支持的数据库类型可在其插件目录中查看。作为当前最强大的注入工具之一,SQLMap在实际应用中具有极高的效率和准确性。 ... [详细]
  • 本文介绍了在 Android 平台上的图片上传工具类优化方案,重点讨论了如何通过设置 `MultipartEntity` 来实现图片的高效上传。具体实现中,通过自定义 `UserUploadServiceImpl` 类,详细展示了如何构建和发送包含图片数据的 HTTP 请求。此外,还探讨了如何处理上传过程中的常见问题,如网络异常和文件格式验证,以确保上传的稳定性和可靠性。 ... [详细]
  • 用jqueryuploadify上传文件的时候,为什么文件大小超过30MB就不行了?我已经修改了最大文件限制sizeLimit:209715200,200MB,也修改了web.co ... [详细]
  • 本文给大家介绍一个不错的需要登录的php文件上传管理系统,功能简单有需要了解的同学可参考。代码如下<?php$admin_pwadmin;管理密码$uploaddirupload;上传目录session_s ... [详细]
  • IIS配置大全:从基础到高级的全面指南
    IIS配置详解:从基础到高级的全面指南IIS前端配置与web.config文件紧密相关,相互影响。本文详细介绍了如何设置允许通过的HTTP请求方法,包括HEAD、POST、GET、TRACE和OPTIONS。提供了两种主要的配置方法,并探讨了它们在实际应用中的优缺点。此外,还深入讲解了其他高级配置选项,帮助读者全面提升IIS服务器的性能和安全性。 ... [详细]
  • 在Java应用程序中调用`response.getStatus()`方法时遇到了`NoSuchMethodError`异常,经过分析,初步判断为依赖冲突问题。通过检查项目依赖树发现,当前项目版本与某些库的版本不兼容,导致该方法无法被正确识别。建议通过更新相关依赖版本或使用依赖管理工具(如Maven或Gradle)来解决此问题,确保所有依赖项版本一致且兼容。 ... [详细]
  • 在Linux环境中,通过编写Shell脚本来实现自定义命令的创建与激活,能够极大地简化服务器上多个子系统的管理操作。例如,通过简单的命令如“tt”,即可快速查看各个应用程序的名称及其运行状态,从而提高系统维护的效率和便捷性。 ... [详细]
  • 如何在微信公众平台集成新浪云服务应用摘要:新浪云服务平台SinaAppEngine(简称SAE)自2009年启动内部研发,并于同年对外开放。本文详细介绍了如何利用SAE的强大功能,在微信公众平台上构建高效、稳定的云服务应用程序,涵盖从环境配置到应用部署的全流程,为开发者提供详尽的技术指导与实践案例。 ... [详细]
  • Django项目中配置媒体文件路径的详细步骤与最佳实践
    在Django项目中配置媒体文件路径的详细步骤包括:首先,创建一个新的应用(如 `app02`),然后在 `settings.py` 文件中配置媒体文件的存储路径。具体来说,需要导入 `os` 模块,并使用 `os.path.join` 方法来指定媒体文件的保存目录。此外,建议在开发和生产环境中分别设置不同的媒体文件路径,以确保项目的灵活性和安全性。为了更好地管理和访问媒体文件,还可以在 `urls.py` 中添加相应的URL配置,以便在开发服务器上直接访问这些文件。 ... [详细]
  • 本文将详细介绍如何利用JMeter高效执行API接口测试,涵盖JMeter的基础介绍、安装方法、中文环境配置、主要元件及其作用域和执行顺序等内容,并分享一系列实用的测试技巧,帮助读者全面掌握JMeter接口测试的全过程。 ... [详细]
  • 原标题:vue+element_ui上传文件,并传递额外参数需求:文件大小验证文件类型验证额外参 ... [详细]
  • 请问:哪里有很全的php文件上传函数!小弟搜了一上午,也没有搜到那!谁有啊!!!谢谢了~ ... [详细]
  • C#操作ftp类完整实例-本文实例讲述了C#操作ftp类。分享给大家供大家参考。具体如下:usingSystem;usingSystem.Collections.Generic;u ... [详细]
author-avatar
前所未闻啊_549
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有