您的位置:首页 > 编程语言 > Java开发

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

2017-09-18 12:02 423 查看
这里主要是图片上传,贴的代码也是注解配置的,要是想好看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>
&
4000
lt;%-- 要指定 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包都在
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐