javaEE上传文件


javaEE Struts2上传文件,配置接受图片和zip文件的上传 author:spring sky
资源截图
代码片段和文件信息
package com.zhangke.action;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.text.DecimalFormat;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

/***
 * 文件上传例子   resource code encoding is utf-8
 * 
主要为了android客户端实现功能   代码写的乱   请大家见谅
 * @author spring sky
 * Email:vipa1888@163.com
 * QQ:84095105
 *
 */
public class FileUpload extends ActionSupport {

private String savePath;
/**这里的名字和html的名字必须对称*/
private File img;
/**要上传的文件类型*/
private String imgContentType;
/**文件的名称*/
private String imgFileName;
/**
 * 指定的上传类型   zip 和   图片格式的文件
 */
private static final String[] types = { “application/x-zip-compressed“
“ZIP“ “image/pjpeg“ };

/***
 * 判断文件的类型是否为指定的文件类型
 * @return
 */
public boolean filterType() {
boolean isFileType = false;
String fileType = getImgContentType();
System.out.println(fileType);
for (String type : types) {
if (type.equals(fileType)) {
isFileType = true;
break;
}
}
return isFileType;
}

public String getSavePath() {
return ServletActionContext.getRequest().getRealPath(savePath);
}

public File getImg() {
return img;
}

public String getImgFileName() {
return imgFileName;
}

public void setSavePath(String value) {
this.savePath = value;
}

public void setImgFileName(String imgFileName) {
this.imgFileName = imgFileName;
}

public void setImg(File img) {
this.img = img;
}

public String getImgContentType() {
return imgContentType;
}

public void setImgContentType(String imgContentType) {
this.imgContentType = imgContentType;
}

/**
 * 取得文件夹大小
 * 
 * @param f
 * @return
 * @throws Exception
 */
public long getFileSize(File f) throws Exception {
return f.length();
}

public String FormetFileSize(long fileS) {// 转换文件大小
DecimalFormat df = new DecimalFormat(“#.00“);
String fileSizeString = ““;
if (fileS < 1024) {
fileSizeString = df.format((double) fileS) + “B“;
} else if (fileS < 1048576) {
fileSizeString = df.format((double) fileS / 1024) + “K“;
} else if (fileS < 1073741824) {
fileSizeString = df.format((double) fileS / 1048576) + “M“;
} else {
fileSizeString = df.format((double) fileS / 1073741824) + “G“;
}
return fileSizeString;
}

/**
 * 上传文件操作
 * 
 * @return
 * @throws Exception
 */
public String upload() throws Exception {
String result = “unknow error“;
PrintWriter out = ServletActionContext.getResponse().getWriter();
if (!filterType()) {
System.out.println(“文件类型不正确“);
ServletActionContext.getRequest().setAttribute(“typeError“
“您要上传的文件类型不正确“);

result = “error:“ + getImgContentType() + “ type not upload file type“;
} else {
System.out.println(“当前文件大小为:“
+ FormetFileSize(getFileSize(getImg())));
FileOutputStream fos = null;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2408  2012-05-12 17:05  fileUpload.classpath

     文件        303  2012-05-12 16:20  fileUpload.mymetadata

     文件        240  2011-05-31 14:12  fileUpload.mystrutsdata

     文件       1703  2012-05-12 16:20  fileUpload.project

     文件        500  2012-05-12 16:20  fileUpload.settings.jsdtscope

     文件         88  2012-05-12 16:45  fileUpload.settingsorg.eclipse.core.resources.prefs

     文件        395  2012-05-12 16:20  fileUpload.settingsorg.eclipse.jdt.core.prefs

     文件        468  2012-05-12 16:20  fileUpload.settingsorg.eclipse.wst.common.component

     文件        252  2012-05-12 16:20  fileUpload.settingsorg.eclipse.wst.common.project.facet.core.xml

     文件         49  2012-05-12 16:20  fileUpload.settingsorg.eclipse.wst.jsdt.ui.superType.container

     文件          6  2012-05-12 16:20  fileUpload.settingsorg.eclipse.wst.jsdt.ui.superType.name

     文件        543  2011-06-17 11:46  fileUploadsrc.struts.mex

     文件       3844  2012-05-12 17:16  fileUploadsrccomzhangkeactionFileUpload.java

     文件        202  2011-05-31 18:02  fileUploadsrcglobalMessages_zh_CN.properties

     文件       1154  2012-05-12 16:34  fileUploadsrcstruts.xml

     文件       1111  2012-05-12 17:15  fileUploadWebRootindex.jsp

     文件         36  2011-05-31 14:06  fileUploadWebRootmeta-INFMANIFEST.MF

     文件        543  2011-06-17 11:46  fileUploadWebRootWEB-INFclasses.struts.mex

     文件       4479  2012-05-12 17:16  fileUploadWebRootWEB-INFclassescomzhangkeactionFileUpload.class

     文件        202  2011-05-31 18:02  fileUploadWebRootWEB-INFclassesglobalMessages_zh_CN.properties

     文件       1154  2012-05-12 16:34  fileUploadWebRootWEB-INFclassesstruts.xml

     文件     358273  2012-05-12 16:20  fileUploadWebRootWEB-INFlibantlr-2.7.2.jar

     文件       4467  2012-05-12 16:20  fileUploadWebRootWEB-INFlibaopalliance-1.0.jar

     文件      37854  2012-05-12 16:20  fileUploadWebRootWEB-INFlibclassworlds-1.1.jar

     文件     188671  2012-05-12 16:20  fileUploadWebRootWEB-INFlibcommons-beanutils-1.7.0.jar

     文件      91699  2012-05-12 16:20  fileUploadWebRootWEB-INFlibcommons-chain-1.2.jar

     文件     571259  2012-05-12 16:20  fileUploadWebRootWEB-INFlibcommons-collections-3.2.jar

     文件     148783  2012-05-12 16:20  fileUploadWebRootWEB-INFlibcommons-digester-2.0.jar

     文件      57779  2012-05-12 16:20  fileUploadWebRootWEB-INFlibcommons-fileupload-1.2.1.jar

     文件      87776  2012-05-12 16:20  fileUploadWebRootWEB-INFlibcommons-io-1.3.2.jar

............此处省略35个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)