/* ==================================================================
* Created [2009-4-27 下午11:32:55] by Jon.King
* ==================================================================
* TSS
* ==================================================================
* mailTo:jinpujun@hotmail.com
* Copyright (c) Jon.King, 2009-2012
* ==================================================================
*/
package com.jinhe.tss.component.support.web.upload;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import com.jinhe.tss.component.support.web.webwork.BaseActionSupport;
import com.jinhe.tss.core.exception.BusinessException;
import com.jinhe.tss.core.util.EasyUtils;
/**
* 文件上传Action
*/
public class FileUploadAction extends BaseActionSupport {
private static final long serialVersionUID = 3834494967429903133L;
/**
* 客户端上传文件,用户远程小文件上传
*/
private File file;
/**
* 服务器端本地文件全路径,用于本地大文件上传
*/
private String localPath;
/**
* 用于文件上传、下载过程中保存其他参数
*/
private Map<String, String> params = new HashMap<String, String>();
private FileUploadManager manager;
/**
* 执行文件上传
*/
public String execute() {
if (file == null && !EasyUtils.isNullOrEmpty(localPath) )
file = new File(localPath); //如果没有远程文件上传,则使用本地文件
if (file == null)
throw new BusinessException("没有指定上传的文件或文件太大或文件名称太长,请重新上传");
print(manager.upload(file, params));
return XML;
}
public void setFile(File file) {
this.file = file;
}
public void setLocalPath(String localPath) {
this.localPath = localPath;
}
public Map<String, String> getParams() {
return params;
}
/**
* 设置文件传输对象
*/
public void setManager(FileUploadManager manager) {
this.manager = manager;
}
}