Struts2:文件上传

第一步:
在WEB-INF/lib下加入commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar(FileUtils工具类在这个jar文件中)

第二步:把form表的enctype设置为:“multipart/form-data”,如下:

<form action="addfile" enctype="multipart/form-data" method="post">
    文件:<input type="file" name="image">
    <input type="submit" value="上传">
</form>

第三步: 在Action类中添加以下属性,属性名称对应于表单中文件字段的名称:

public class HelloWorldAction {
    private File image;
    private String imageFileName;   // 固定写法。前面为字段名称 后面为FileName
                                                                 //文件类型是  imageContentType;  这里

    public String execute() throws IOException
    {
        // images/
        String realpath = ServletActionContext.getServletContext().getRealPath("/images");  //获得绝对路径
        System.out.println(realpath);
        if(image!=null)
        {
            File savefile = new File(new File(realpath), imageFileName);
            if(!savefile.getParentFile().exists()) savefile.getParentFile().mkdirs();
            FileUtils.copyFile(image, savefile);
            ActionContext.getContext().put("message", "上传成功");
        }
        return "success";
    }
      这里省略了getset方法
}

当上传文件大小超过限制时,我们可以在配置文件中修改常量来修改上传文件大小限制
当时通常大文件不是通过WEB来上传的,不稳定。 而是使用Socket来上传的。

多个文件上传 将image 改成 List或者数组 即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值