其中jsp页面中只需定义type=”file“,name="proReCheckFile"
在Aciton中,需要定义
priate File proReCheckFIle;
private String proReCheckFileFileName;
jsp页面:
附件:<input type="file" name="proReCheckFile" style="width:250px;"/>
Action类:
private File proReCheckFile;
private String proReCheckFileFileName;
public File getProReCheckFile() {
return proReCheckFile;
}
public void setProReCheckFile(File proReCheckFile) {
this.proReCheckFile = proReCheckFile;
}
public String getProReCheckFileFileName() {
return proReCheckFileFileName;
}
public void setProReCheckFileFileName(String proReCheckFileFileName) {
this.proReCheckFileFileName = proReCheckFileFileName;
}
逻辑代码:
String uuid= null;
String proReCheckFileName = "",savedProReCheckFileName = "";
if(proReCheckFileFileName != null && proReCheckFile!=null) {
uuid = UUID.randomUUID().toString();
savedProReCheckFileName = uuid + proReCheckFileFileName;
proReCheckFileName=proReCheckFileFileName;
//添加QA审核人以及上传前的文件名和上传后的文件名
crObject.setProReCheckFileName(proReCheckFileName);
crObject.setSavedproReCheckFileName(savedProReCheckFileName);
crObject.setReChecker(reChecker);
UploadReCheckFileName.getFileName(proReCheckFile,proReCheckFileFileName,uuid);
}
其中 UploadReCheckFileName中的方法是:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class UploadReCheckFileName {
private final static Log log = LogFactory.getLog("UploadReCheckFileName");
private final static String FILE_UPLOAD_DIR;
static{
FILE_UPLOAD_DIR = System.getProperty("BASERESOURCEPATH") + "upload/proReCheckFile/";
}
//获取savedProReCheckFileName)
public static void getFileName(File attachments, String proReCheckFileName,String uuid){
String savedProReCheckFileName = null;
if(proReCheckFileName != null && attachments!=null) {
savedProReCheckFileName = uuid + proReCheckFileName;
if(attachments != null){
uploadReCheckFile(attachments,proReCheckFileName, avedProReCheckFileName);
}
}
}
//TODO(上传文件)
public static void uploadReCheckFile(File attachments,String proReCheckFileName, String savedProReCheckFileName){
if( proReCheckFileName == null || savedProReCheckFileName == null){
log.error("上传文件失败,出现空指针.");
return;
}
File uploadFile = new File(FILE_UPLOAD_DIR, savedProReCheckFileName);//指定要操作的文件
InputStream is = null;
OutputStream os = null;
try {
//判断此文件上一级文件夹是否存在
if(!uploadFile.getParentFile().exists()){
uploadFile.getParentFile().mkdirs();//文件夹如果如果不存在,则自动创建多层目录
uploadFile.createNewFile();//创建文件
}
int len;
byte[] buffer = new byte[1024];
is = new FileInputStream(attachments);
os = new FileOutputStream(uploadFile);
while ((len = is.read(buffer)) != -1) {
os.write(buffer, 0, len);
}
} catch (Exception e) {
log.error("当上传文件[proReCheckFileName: " + proReCheckFileName + "]时发生异常!", e);
throw new RuntimeException(e);
} finally {
try {
if (is != null) is.close();
if (os != null) os.close();
} catch (Exception e) {
log.error("当关闭[proReCheckFileName: " + proReCheckFileName + "文件流时发生异常!", e);
throw new RuntimeException(e);
}
log.info("上传完成![proReCheckFileName: " +
proReCheckFileName + ", savedProReCheckFileName: " + savedProReCheckFileName + "]");
}
}
}
相关推荐
今天整理了一个jsp附件上传模块,结合jquery Uploadify插件,可以一次性上传多个附件,而且自带上传进度功能,非常漂亮的界面和强大的功能。 Uploadify插件是由国外开发的一个jquery插件,功能非常的齐全,包括同时...
jquery实现单附件,多附件上传demo
WebService 附件 大附件 多附件
该控件可达到控制上传附件的文件类型、大小的功能,代码比较简单,便于修改。
NC65实现创建分组,上传附件功能
Lotus domino BS 多附件上传例子 Lotus domino jquery附件上传 经典完整例子,全部源码,使用在多个项目中,请放心下载。
js编写的上传附件,可限制上传图片数量,上传的图片大小
WPF中上传多个附件,可以添加多个附件,逐个删除附件,清空全部附件
上传附件到指定服务器API接口,把这个API接口部署到需要存放文件的服务器
泛微附件上传失败问题排查
介绍了如何配置,才能实现附件上传的功能 文档中的附件上传配置是在maximo7.5中实现,对于此配置在maixmo7.1中也可以实现附件上传。
JQuery多附件上传插件,能够实现多个附件同时上传,格式包括各种文档,视频,图片不限。
3、第二个文件时一个word文档,记录了UEditor的使用过程; 4、需要一个资源分只是为了能下载东西,往大伙儿见谅; 5、最后一点是提示:如果要把UEditor使用在struts中,要重写web.xml中所有过滤.jsp或者.*的过滤器,...
4. 包含中文名称的文件上传、附件上传成功后,在数据库表中插入一条记录,记录信息包括一个随机字符的字段,在下载时候通过该字段找到相应的附件 5. 上传文件时候, 反映上传进度 界面设计说明 对上传操作的页面显示...
ASP.NET多附件上传和附件编辑的实现 ASP.NET多附件上传和附件编辑的实现 ASP.NET多附件上传和附件编辑的实现 ASP.NET多附件上传和附件编辑的实现
Outlook2010不能上传大附件,双击本文件后重启Outlook2010即可解决Outlook2010最大附件上传限制问题。
此文档包含了附件上传,以及上传后可以查看附件内容
java struts 附件 多文件上传,可以支持多文件上传
上传附件 代码
利用ajax技术一次可以上传多个附件MultiUpload的Demo。