package com.dfh.action;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.struts2.ServletActionContext;
import com.davidjc.ajaxfileupload.multipart.ProgressMonitor;
import com.dfh.action.base.BaseAction;
import com.opensymphony.xwork2.ActionContext;
public class FilesUploadAction extends BaseAction {
private static final long serialVersionUID = 572146812454l ;
private static final int BUFFER_SIZE = 16 * 1024 ;
// private List<File> myFiles;
// private List<String> contentTypes;
// private List<String> fileNames;
// private List<String> imageFileName;
private File[] myFile;
private String[] myFileFileName;
private String[] contentType;
private static void copy(File src, File dst) {
try {
InputStream in = null ;
OutputStream out = null ;
try {
in = new BufferedInputStream( new FileInputStream(src), BUFFER_SIZE);
out = new BufferedOutputStream( new FileOutputStream(dst), BUFFER_SIZE);
byte [] buffer = new byte [BUFFER_SIZE];
while (in.read(buffer) > 0 ) {
out.write(buffer);
}
} finally {
if ( null != in) {
in.close();
}
if ( null != out) {
out.close();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
// private static List<String> getExtention(List<String> fileName) {
// List<String> fileNs = new ArrayList<String>();
// for(String fileN : fileName){
// System.out.println(fileN);
// int pos = fileName.lastIndexOf(".");
// System.out.println(fileN.substring(pos));
// fileNs.add(new Date().getTime() + fileN.substring(pos));
// }
// return fileNs;
// }
/**
* 上传文件
* @return
*/
public String filesUpload() {
sessionMap.remove("com.davidjc.ajaxfileupload.multipart.ProgressMonitor");
System.out.println("**********" + myFile.length);
System.out.println("**********" + myFileFileName.length);
if(myFileFileName.length < 0){
return "fail";
}
// imageFileName = getExtention(fileNames);
for(int j=0;j<myFileFileName.length;j++ ){
File imageFile = new File(ServletActionContext.getServletContext().getRealPath(myFileFileName[j]));
System.out.println(myFileFileName[j]);
try{
copy(myFile[j], imageFile);
System.out.println("{success:true,msg:'上传文件成功!'}");
response.getWriter().flush();
}catch (Exception ex){
return "fail";
}
}
return NONE;
}
/**
* 上传进程控制
* @return
* @throws Exception
*/
public String processControllers() throws Exception{
double d = 0.00;
//从session取出uploadPercentage
// Object mon_obj = this.sessionMap.get("com.davidjc.ajaxfileupload.multipart.ProgressMonitor");
Object mon_obj = ActionContext.getContext().getSession().get("com.davidjc.ajaxfileupload.multipart.ProgressMonitor");
System.out.println(mon_obj instanceof ProgressMonitor);
if (mon_obj != null) {
ProgressMonitor monitor = (ProgressMonitor)mon_obj;
d = ((double)monitor.getBytesRead()/(double)monitor.getBytesLength());
System.out.println("mon_obj is not null........");
}
System.out.println("****** "+Math.round(d * 100)+" ********");
if(d<1){
//d<0
response.getWriter().write(Math.round(d * 100) +"");
}
else if(d>=1){
this.sessionMap.remove("com.davidjc.ajaxfileupload.multipart.ProgressMonitor");
response.getWriter().write("100");
}
response.getWriter().flush();
return NONE;
}
public File[] getMyFile() {
return myFile;
}
public void setMyFile(File[] myFile) {
this.myFile = myFile;
}
public String[] getMyFileFileName() {
return myFileFileName;
}
public void setMyFileFileName(String[] myFileFileName) {
this.myFileFileName = myFileFileName;
}
public String[] getContentType() {
return contentType;
}
public void setContentType(String[] contentType) {
this.contentType = contentType;
}
// public List<String> getMyfileFileName(){
// return fileNames;
// }
//
// public void setMyfileFileName(List<String> fileNames){
// this.fileNames = fileNames;
// }
//
// public List<File> getMyFile() {
// return myFiles;
// }
//
// public void setMyFile(List<File> myFiles) {
// this.myFiles = myFiles;
// }
//
// public List<String> getContentType() {
// return contentTypes;
// }
//
//
// public List<String> getImageFileName() {
// return imageFileName;
// }
//
//
// public void setContentType(List<String> contentTypes) {
// this.contentTypes = contentTypes;
// }
//
//
// public void setImageFileName(List<String> imageFileName) {
// this.imageFileName = imageFileName;
// }
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
upload.rar (66个子文件)
upload
.project 1KB
.settings
.jsdtscope 500B
org.eclipse.jdt.core.prefs 330B
com.genuitec.eclipse.j2eedt.core.prefs 1KB
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.name 6B
.mymetadata 292B
WebRoot
WEB-INF
web.xml 1KB
applicationContext.xml 302B
annomvc-servlet.xml 1KB
lib
commons-dbcp.jar 119KB
oscache-2.1.jar 112KB
commons-logging.jar 59KB
asm-commons-2.2.3.jar 15KB
asm-util-2.2.3.jar 34KB
cglib-nodep-2.1_3.jar 317KB
slf4j-log4j12-1.5.0.jar 9KB
jta-1.1.jar 11KB
hibernate3.jar 3.71MB
asm-2.2.3.jar 34KB
log4j-1.2.15.jar 383KB
commons-lang.jar 237KB
ognl-2.6.11.jar 164KB
ehcache-1.2.3.jar 203KB
commons-logging-api-1.1.jar 44KB
struts2-spring-plugin-2.1.6.jar 9KB
ejb3-persistence.jar 49KB
freemarker-2.3.8.jar 784KB
commons-collections-3.1.jar 546KB
struts2-core-2.2.1.1.jar 755KB
commons-fileupload-1.2.1.jar 56KB
javassist-3.9.0.GA.jar 583KB
hibernate-jpa-2.0-api-1.0.0.Final.jar 99KB
dom4j-1.6.1.jar 307KB
proxool-0.8.3.jar 465KB
xwork-core-2.2.1.1.jar 997KB
slf4j-api-1.5.8.jar 23KB
mysql-connector-java-5.1.7-bin.jar 693KB
AjaxFileUpload-0.03.jar 39KB
hibernate-validator.jar 61KB
common-annotations.jar 6KB
commons-pool.jar 61KB
antlr-2.7.6.jar 433KB
commons-io-1.3.2.jar 86KB
aspectjweaver.jar 1.47MB
classes
log4j.properties 616B
com
dfh
action
FilesUploadAction.class 4KB
FileUploadAction.class 4KB
base
BaseAction.class 1KB
mysql_jdbc.properties 204B
struts.xml 1KB
hibernate.cfg.xml 1KB
beans.xml 3KB
META-INF
MANIFEST.MF 36B
UpManyFiles.jsp 3KB
UpSingleFile.jsp 2KB
UpLoadFail.jsp 882B
.myeclipse
src
log4j.properties 616B
com
dfh
action
FilesUploadAction.java 5KB
FileUploadAction.java 4KB
base
BaseAction.java 1KB
mysql_jdbc.properties 204B
struts.xml 1KB
hibernate.cfg.xml 1KB
beans.xml 3KB
.classpath 2KB
共 66 条
- 1
资源评论
- wrke19902013-08-02额,有点小错误,希望多改进。
- qzmer11042012-06-23封装不简洁,不利于更改添加自己的,我没有用上
- nate33602012-03-01不能用,加入了相应的jar包之后还是会报各种错误,不推荐!建议增加一些具体的使用方法
deng727
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Music-Player +PlayerActivity+ rockplayer+ SeeJoPlayer 播放器JAVA源码
- vscode-1.46.0.tar源码文件
- 最近很火植物大战僵尸杂交版2.08苹果+安卓+PC+防闪退工具V2+修改工具+高清工具+通关存档整合包更新
- 超级好用的截图工具PixPin,可录制Gif图
- Screenshot_2024-05-21-17-06-42-64_2332cb9b27b851b548ba47a91682926c.jpg
- 毕业设计参考 - 基于树莓派、OpenCV及Python的人脸识别
- node-v18.20.2-linux-arm64
- 222222222222
- 16张相机标定图片,可复现本文畸变矫正
- dbeaver-ce-23.3.1-x86_64-setup.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功