文件上传--图片上传 (注解配置以及xml配置)

这里主要是图片上传,贴的代码也是注解配置的,要是想好看xml配置的方式的话,代码以及jar都在这里:http://pan.baidu.com/s/1bEF7BK

不足的地方还请多多指教

.java

package com.zhidi.action;

import com.opensymphony.xwork2.ActionSupport;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.convention.annotation.*;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * Created by admin on 2017/9/15.
 */
@ParentPackage("struts-default")
@Namespace("/")
@ResultPath("/")  //没有此注解的情况下,它会找到“WEB-INF/content/” 文件夹。但是我们目前没有或者说不想使用此约定,就可以使用这个注解进行改变
public class FileUploadAction extends ActionSupport {

    private File file; //表单提交的name值
    private String fileFileName; //由表单提交的name值+FileName组成,为固定写法
    private String fileContentType; //固定写法

    private String savePaths;


    @Action(value = "uploadA",interceptorRefs={
            @InterceptorRef(value="fileUpload",params={"allowedExtensions","jpg,jpeg,img","maximumSize","1073741824"}),//指定类型,上传的大小
            @InterceptorRef(value = "defaultStack")},
            results={@Result(location = "upload.jsp"),
                    @Result(name = "login",location = "upload_success.jsp")}
    )
    public String upload() {
        if (file != null) {
            //获取一个保存文件的路径
            String savePath = ServletActionContext.getServletContext().getRealPath("/upload");
            //路径可能不存在,要对其判断,如果不存在则创建
            File f = new File(savePath);
            if (!f.exists()) {
                //创建文件夹
                f.mkdir();
            }
            //进行保存
            try {
                SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddhhmmss");
                String date=sdf.format(new Date());
                //第一次参数是目标文件,第二参数是要上传的文件目录
                FileUtils.copyFile(file, new File(f, (date+"-"+fileFileName)));
                savePaths="upload/"+date+"-"+fileFileName;
            } catch (IOException e) {
                e.printStackTrace();
            }
            return SUCCESS;
        }
        return LOGIN;
    }

    public File getFile() {
        return file;
    }

    public void setFile(File file) {
        this.file = file;
    }

    public String getFileFileName() {
        return fileFileName;
    }

    public void setFileFileName(String fileFileName) {
        this.fileFileName = fileFileName;
    }

    public String getFileContentType() {
        return fileContentType;
    }

    public void setFileContentType(String fileContentType) {
        this.fileContentType = fileContentType;
    }

    public String getSavePaths() {
        return savePaths;
    }

    public void setSavePaths(String savePaths) {
        this.savePaths = savePaths;
    }
}

upload.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<html>
<head>
    <base href="<%=basePath%>">
    <title>Title</title>
</head>
<body>
<%-- 要指定 enctype=multipart/form-data --%>
<form action="uploadA.action" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="上传图像">
</form>
<img src="<%=basePath%>${savePaths}" height="150" width="150">

</body>
</html>

以上代码上面的链接里面都是有的,以及xml配置方式jar包都在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值