我们以一个例子来说明ActionForm之文件上传: (不需要引入任何jar包)

在页面建一表单:

测试struts上传文件//enctype="multipart/form-data"这个属性就是用于上传的,需要添加

标题:

文件:
//type类型为file

建立上传成功的页面:

在这个页面取出上传的文件的名字,包括标题:

标题:${uploadForm.title}
//从ActionForm中取出

文件名:${uploadForm.myfile.fileName  }

建立ActionForm(使用静态的):

import org.apache.struts.action.ActionForm;

import org.apache.struts.upload.FormFile;

/**

* 上传ActionForm

* @author Administrator

*

*/

public class UploadActionForm extends ActionForm {

private String title;

//必须采用FormFile

private FormFile myfile;//文件的类型声明为FormFile,必须这样声明,使用这个来接收文件

public String getTitle() {

return title;

}

public void setTitle(String title) {

this.title = title;

}

public FormFile getMyfile() {

return myfile;

}

public void setMyfile(FormFile myfile) {

this.myfile = myfile;

}

再写相应的action:

/**

* 上传Action

* @author Administrator

*

*/

public class UploadTestAction extends Action {@Override

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

throws Exception {

UploadActionForm uaf = (UploadActionForm)form;//得到表单数据  System.out.println("title" + uaf.getTitle());//得到标题  FormFile myFile = uaf.getMyfile();//new一个FormFile,就会把这个文件放进去,也就得到这个文件(在action中调用FormFile,就可以得到上传文件)

if (myFile != null) {

System.out.println("fileName=" + myFile.getFileName());//通过这个对象可以得到文件的名字,文件的类型,大小,详细见文档

FileOutputStream fos = new FileOutputStream("c:\\" + myFile.getFileName());//new一个输出流,并存在C盘,名字就叫他自己的名字   fos.write(myFile.getFileData());//写入硬盘   fos.flush();

fos.close();

}

return mapping.findForward("success");

}

}

}

做相应的配置

测试就OK了

对可上传的文件大小以及临时目录包括缓存的配置:

实现这个功能是在struts-config.xml中配置的,

//controller 这个标签,有很多属性,具体使用见DTD(位于struts.jar中的org.apache.struts.resource中的struts-config-1-2.dtd内),nocache ="true"表示每次都会清理缓存

步骤总结:

* 页面的配置,如:

标题:

文件:

* ActionForm中使用FormFile来接收上传的文件,参见:UploadActionForm.java

* 在Action中调用FormFile取得上传文件数据,采用流输出,即完成上传,参见:UploadTestAction.java

* 采用标签配置上传参数,如:

来源:https://www.cnblogs.com/liuyang-1037/archive/2009/03/11/1409038.html

android+action +actionform上传文件,ActionForm之文件上传相关推荐

  1. android 文件并发读写,Android下,rxJava+retrofit 并发上传文件和串行上传文件的效率为什么差不多?...

    有个功能需要同时上传N个文件.代码如下: ApiService as = ApiManager.getApiService(); final ExecutorService es = Executor ...

  2. android git上传出现错误,热更新上传patch包时提示上传失败,文件不合法

    集成配置信息 classpath 'com.android.tools.build:gradle:3.3.2' classpath "com.tencent.bugly:tinker-sup ...

  3. Android:Volley实现参数,字符数组,文件,图片的上传

    1.代码使用 RequestQueue queue = Volley.newRequestQueue(context); MultipartRequest multipartRequest = new ...

  4. Android webview支持H5页面通过js实现文件上传、图片上传

    一.问题场景: 项目中遇到通过网页上传文件的需求,IOS直接是支持的,安卓端却没反应,有些机型甚至闪退.其实是Android的webview默认是不支持<input type="fil ...

  5. 腾讯对象存储服务COS加密签名上传文件与下载文件的剖析,福利提供给所有使用Android的小伙伴们!

    在做一些用户需求的时候,公司往往需要工程师采集到更多有用的关于用户的个人信息,然后对用户群进行分析,今天我不是来分析这些的,今天我主要是说 腾讯推出的款云产品,那就是对象存储服务COS,这个产品面向所 ...

  6. Android Studio将本地计算机文件上传到模拟器scard文件中

    本人在学习Android开发中遇到这样一个问题,将本地计算机中一个视频上传到模拟器的scard文件中视频的名字是1.MP4![这里写图片描述](https://img-blog.csdn.net/20 ...

  7. android webview 多文件上传,Android中的webview支持页面中的文件上传实例代码

    Android webview在默认情况下是不支持网页中的文件上传功能的: 如果在网页中有,在android webview中访问时也会出现浏览文件的按钮 但是点击按钮之后没有反应... 那么如何能够 ...

  8. java action 上传文件_Struts2实现单文件或多文件上传功能

    一.简述 Struts2的文件上传其实也是通过拦截器来实现的,只是该拦截器定义为默认拦截器了,所以不用自己去手工配置, 二.指定用户上传文件的大小,有两种方式 1)默认是在default.proper ...

  9. 【Android实战】----基于Retrofit实现多图片/文件、图文上传

    本文代码详见:https://github.com/honghailiang/RetrofitUpLoadImage 一.再次膜拜下Retrofit Retrofit无论从性能还是使用方便性上都很屌! ...

  10. Android 使用 okhttp3和retrofit2 进行单文件和多文件上传

    目录 前言 一.单文件上传 二.多文件上传 总结 前言 开发项目中需要进行单文件多文件的上传功能,下面演示的ApiResponse是自己分装的返回值,要根据自己的项目来完成.使用的mvvm框架,kot ...

最新文章

  1. 记忆模糊、记忆泛化的关键分子开关被发现
  2. 安安猜价格聪明机器人_5 项降噪优化,石头扫地机器人 T6 安静也有大吸力
  3. httpClient创建对象、设置超时
  4. 15数码 java_A*算法求解15数码问题
  5. WINDOWS SERVER 2003 R2 AD域控安装过程实践
  6. 运用PhantomJS测试JavaScript
  7. 存储单位:位、字节、字符、千字节KB、兆字节MB
  8. vm压缩linux vmdk文件,vmware下vmdk文件越来越大的解决方法探讨
  9. 采购精英的行为准则(精典)
  10. ZBrush新手推荐使用这17个小技巧和常用快捷键、笔刷
  11. storm DRPC例子
  12. Linux 下wifi 驱动开发(一)—— WiFi基础知识解析
  13. Java中什么时候用接口,什么时候用抽象类
  14. python如何读取数据时出现错误_python读取excel数据报xlrd.biffh.XLRDError错误原因,,比如说我要读取 http...
  15. STM32CubeMX配置SD卡+DMA+Fatfs文件系统
  16. python中绝对角度是什么意思_计算角度是否介于两个角度之间
  17. 关于社交的书籍推荐,这本书最实用
  18. Unity初始化预制件之后得位置问题
  19. PLC的工作流程、特点和应用分类
  20. 【PNN分类】基于灰狼鹰算法优化pnn神经网络实现数据分附matlab代码

热门文章

  1. matlab能否用递推公式给出表达式,matlab定积分运算
  2. Unity获取安卓手机运营商,电量,wifi信号强度,本地Toast,获取已安装apk,调用第三方应用,强制自动重启本应用...
  3. 经纬度转小数格式 java_怎么把经纬度转成小数
  4. CIO40:IT人22-30岁职业规划
  5. phpyun怎么采集_phpyun采集
  6. 关于TF卡内存卡sd卡等读写速度出现大幅下降解决办法之一
  7. 汇编语言怎么编译python_汇编语言编译器的编写方法
  8. 转载-PCB板加工流程
  9. 10月SCI/SSCI/EI刊源更新,新增1区TOP,2022年仅剩不到三个月,还在观望吗?
  10. 2021-09-28 网安实验-取证分析-Stuxnet病毒