`
htj1231825
  • 浏览: 39826 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex Struts2 fileupload上传文件

 
阅读更多
	file=new FileReference();
	file.addEventListener(Event.SELECT,onSelect);
	file.addEventListener(ProgressEvent.PROGRESS,onProgess);

//上传附件
public function upload():void{
	var allTypes:FileFilter=new FileFilter("所有文件(*.*)","*.*");
	file.browse([allTypes]);
}
//选择文件
public function onSelect(event:Event):void{
	trace(file.size);
	if(file.size<=4*1024*1024){
		var request: URLRequest = new URLRequest(serverURL+"/UploadY!fileUpload.action"); 
		var vars:URLVariables = new URLVariables();//向后台传输的变量
		vars.FileName = file.name;  //文件名称
		vars.FileType=file.type;//文件类型
		vars.S_USER_ID=userInfo.S_USER_ID;//用户ID	
		//上传文件名
		var date:Date=new Date();
		var uploadFileName:String=date.fullYear.toString()+(date.month+1).toString()+date.date.toString()+date.hours.toString()+date.minutes.toString()+date.seconds.toString()+Math.round(Math.random()*100000000000000);
		vars.uploadFileName=uploadFileName;
	
		request.data = vars;//向后台请求传输的参数
		request.method = URLRequestMethod.POST;//POST
		try{
			file.upload(request,"upload");
			var fileObject:Object=new  Object();
			fileObject.FileName=file.name;
			fileObject.UpLoadName=uploadFileName+file.type;
			fileArray.addItem(fileObject);
			
		//	fileArray.refresh();
		}catch(e:ExpectException){
			Alert.show("上传失败!","提示");
		}
	}else{
		Alert.show("文件超过4M","提示");
	}
}
//文件进度
public function onProgess(event:ProgressEvent):void{
	trace(event.bytesLoaded);
	trace(event.bytesTotal);
	var proc:uint=event.bytesLoaded/event.bytesTotal*100;
	trace(proc);
}




package com.fcx.app.faq.action;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.UUID;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.struts2.ServletActionContext;
import org.apache.tomcat.jni.OS;

import com.fcx.app.core.action.DefaultComplexAction;
import com.fcx.app.core.service.GenericService;

public class UploadAction extends DefaultComplexAction {
	private static final long serialVersionUID = 4459273642763849146L;

	private static final String[] String = null;
	
	private File upload;//定义的文件
	private String uploadFileName;//上传文件的名称
	private String savePath ;//上传得路径
	private String fileEncodings;//读入文件编码类型
	private String  filename;//前台传过来的参数
	private String S_USER_NAME;//前台传入的用户名
	private String FileTyep;
	
	public UploadAction(GenericService service) {
		super(service);
		// TODO Auto-generated constructor stub
	}
	public String fileUpload(){
				//获取服务器路径
				savePath = request.getRealPath("/");
				//ServletActionContext获得前台传过来的参数
				Map map = ServletActionContext.getRequest().getParameterMap();
				//获取前台传入的文件名
				String[] dir = (String[])map.get("FileName");
				String filename = dir[0];
				//创建上传文件名
				dir=(String[])map.get("uploadFileName");
				String uploadFileName=dir[0];
				//String uploadFileName=UUID.randomUUID().toString();
				//uploadFileName=uploadFileName.substring(0,8)+uploadFileName.substring(9,13)+uploadFileName.substring(14,18)+uploadFileName.substring(19,23)+uploadFileName.substring(24); 
				//获取用户ID
				dir = (String[])map.get("S_USER_ID");
				String S_USER_NAME= dir[0];
				//获取文件类型
				dir= (String[])map.get("FileType");
				FileTyep=dir[0];
				//创建上传路径
				savePath+="\\WEB-INF\\"+S_USER_NAME;
			    InputStream is;
			    OutputStream os;
				try {
					 //创建输入流
					 is = new FileInputStream(upload);
					 //创建文件
					 File tempFile=new File(savePath,uploadFileName+FileTyep);
					 //判断路径是否存在
					 if(!tempFile.getParentFile().exists()){
						 //创建路径
						 tempFile.getParentFile().mkdirs();
					 }
					 //判断文件是否存在
					 if(!tempFile.exists()){
						 	//创建文件
							tempFile.createNewFile();
						}
					 	//创建输出流
			            os=new FileOutputStream(tempFile);
			            byte[] buf=new byte[1024];
			            int length=0;
			            while((length=is.read(buf))>0)
			            {
			            	//写入
			                os.write(buf, 0, length);
			            }
			            is.close();
			            os.close();
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
		return SUCCESS;
	}
	public String deleteFile(){
		//获取服务器路径
		savePath = request.getRealPath("/");
		//获取上传文件名
		String uploadFileName=queryParams.get("UpLoadName");
		String S_USER_NAME=queryParams.get("S_USER_ID");
		//获取文件路径
		savePath+="\\WEB-INF\\"+S_USER_NAME;
		File file=new File(savePath,uploadFileName);   
		boolean tf = false;
	        if(file.exists()){   
	            tf= file.delete();
	        }   
	        System.out.println(tf);
		return SUCCESS;
	}

	public File getUpload() {
		return upload;
	}

	public void setUpload(File upload) {
		this.upload = upload;
	}

	public String getUploadFileName() {
		return uploadFileName;
	}

	public void setUploadFileName(String uploadFileName) {
		this.uploadFileName = uploadFileName;
	}

	public String getSavePath() {
		return savePath;
	}

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

	public String getFileEncodings() {
		return fileEncodings;
	}

	public void setFileEncodings(String fileEncodings) {
		this.fileEncodings = fileEncodings;
	}

	public String getFilename() {
		return filename;
	}

	public void setFilename(String filename) {
		this.filename = filename;
	}
	public String getS_USER_NAME() {
		return S_USER_NAME;
	}
	public void setS_USER_NAME(String s_USER_NAME) {
		S_USER_NAME = s_USER_NAME;
	}
	public String getFileTyep() {
		return FileTyep;
	}
	public void setFileTyep(String fileTyep) {
		FileTyep = fileTyep;
	}

}


分享到:
评论

相关推荐

    Struts1 fileupload Struts1文件上传 源码下载

    Struts1的fileupload的文件上传

    flex struts2文件上传

    在Struts2 Action中,我们需要创建一个List或数组来存储多个上传文件,每个文件对应一个FileItem或Part对象。 为了确保文件上传的安全性和稳定性,我们还需要考虑以下几点: 1. 设置合理的文件大小限制,防止大文件...

    struts_fileupload文件上传

    struts_fileupload文件上传Struts2

    struts2整合fileupload

    Struts2整合FileUpload是Java Web开发中常见的一项任务,它允许用户在应用程序中上传文件。Struts2是一个强大的MVC框架,而FileUpload则是一个处理文件上传的库,通常与Struts2结合使用,以提供更完善的文件上传功能...

    struts2文件上传下载源代码

    文件上传功能允许用户从他们的设备上传文件到服务器。在Struts2中,这通常通过表单实现,表单包含一个`&lt;input type="file"&gt;`元素,用户可以选择本地文件。Struts2的Action类会接收这个文件,并使用`Commons ...

    java 文件上传(包括struts2文件上传,smartupload,基于apatch 的fileupload的文件上传)

    java 文件上传(包括struts2文件上传,smartupload,基于apatch 的fileupload的文件上传):该文件包括文件上传的多个实例:有基于strtus2自带的文件上传实例、smartupload文件实例 和基于aptche自带的fileupload 的...

    struts2实现文件上传下载

    `FileInfo`是自定义的类,包含`File`对象和`String`对象,分别表示上传文件的实际内容和文件名。 1. **配置Struts2的文件上传** 在`struts.xml`配置文件中,为需要支持文件上传的Action添加`params`和`fileUpload`...

    Struts2多个文件上传

    Struts2是一个流行的Java web开发框架,用于构建企业级应用...无论是使用List集合还是数组,核心原理都是相同的,只是接收上传文件的对象类型不同。了解并掌握这一特性,对于开发支持文件上传功能的web应用至关重要。

    Common-FileUpload与struts2文件上传

    FileUpload库能解析这种编码格式的请求,将其拆分成多个部分,每个部分对应一个表单字段或上传文件。 2. **流式处理**: - FileUpload库支持流式处理,这意味着它可以在不完全加载整个请求到内存的情况下处理文件...

    struts2+jquery+ajax文件异步上传

    在Struts2的配置文件中,我们可以定义这些规则,例如限制上传文件的大小,只接受特定类型的文件(如图片、文档等)。此外,我们还需要关注安全问题,防止恶意文件上传。 文件上传的实现通常包括以下几个步骤: 1. ...

    Struts2+上传文件源码

    这个"Struts2+上传文件源码"是一个演示如何在Struts2框架下实现文件上传的示例代码。 首先,我们来理解上传文件的基本流程。在Struts2中,文件上传是通过`Commons FileUpload`库来处理的,这是一个Apache提供的开源...

    struts2文件上传jar

    实现Struts2文件上传,你需要在Struts配置文件(通常为struts.xml)中配置相关的拦截器,例如`params` 和 `fileUpload` 拦截器。`params` 拦截器负责处理表单参数,而`fileUpload` 拦截器处理文件上传。在Action类中...

    完整struts2文件上传示例

    在Struts2中,我们首先需要在`struts.xml`配置文件中添加相关的拦截器(interceptor)来处理文件上传。`struts.multipart.parser`属性应设置为`jakarta`,这是Struts2处理文件上传的方式。例如: ```xml ...

    struts1.2和commons-fileupload实现文件上传

    在实际开发中,为了防止DoS攻击和确保上传安全,你需要对文件大小进行限制,并验证上传文件的扩展名,确保只有特定类型的文件才能被接受。 总结来说,Struts1.2与Commons-Fileupload的结合使用,提供了一个简单而...

    struts2s上传文件

    在Struts2中,文件上传功能是一项常用的功能,允许用户通过Web表单上传文件到服务器。本篇将深入探讨Struts2中的文件上传机制、步骤以及常见问题。 首先,我们要理解文件上传的基本原理。在Web应用中,文件上传通常...

    struts2 文件上传

    struts2 文件上传 struts2上传标签file fileuploadstruts2 文件上传 struts2上传标签file fileuploadstruts2 文件上传 struts2上传标签file fileupload

    struts2文件上传例子.rar

    同时,我们还需要配置`struts.multipart.saveDir`属性,指定临时文件保存的位置,以及`struts.multipart.maxSize`,限制上传文件的最大大小。 在视图层,通常会有一个HTML表单,使用`enctype="multipart/form-data...

    Struts2批量上传文件

    总结来说,实现Struts2批量上传文件涉及到的技术点包括Struts2拦截器、Apache Commons FileUpload、Action类的文件处理以及前端的文件验证。通过这些技术,我们可以创建一个稳定且功能完备的文件上传系统,既能处理...

    struts2 文件上传功能

    Struts 2是通过Commons FileUpload文件上传。Commons FileUpload通过将HTTP的数据保存到临时文件夹,然后Struts使用fileUpload拦截器将文件绑定到Action的实例中。从而我们就能够以本地文件方式的操作浏览器上传的...

Global site tag (gtag.js) - Google Analytics