`
as1001001
  • 浏览: 89936 次
  • 性别: Icon_minigender_1
  • 来自: 鞍山
社区版块
存档分类
最新评论

flex上传文件

阅读更多
flex端的AS代码:

internal function init():void{    
    Security.allowDomain("*");    
     file = new FileReference();      
     file.addEventListener(Event.SELECT, onSelect);      
    file.addEventListener(ProgressEvent.PROGRESS, processHandler);      
    file.addEventListener(IOErrorEvent.IO_ERROR,ioShow);                    
    }    
internal function ioShow(evt: IOErrorEvent){    
     Alert.show(evt.toString(),"IO错误");    
    }    
internal function doSelect():void{    
//文件类型限制,第一个是文件类型选项只显示"png"类型的,第二个是只把.png文件显示出来   
     var imageTypes:FileFilter = new FileFilter("png", "*.png");      
     var allTypes:Array = new Array(imageTypes);      
     file.browse(allTypes);    
    }    
internal function onSelect(evt:Event):void{    
     pic_txt.text = file.name;    
    }    
internal function doUpload():void{    
//指向struts的一个action,或servlte,注意一写要写完整路径    
     var request:URLRequest = new URLRequest("http://localhost:8080/productManage/uploadPic.do");    
        
     fileName = "productImage\\"+new Date().getTime().toString() +".png";    
       request.data = new URLVariables("filename="+fileName);    
          file.upload(request);    
       CursorManager.setBusyCursor();    
    }    
//上传完成更新源    
    internal function processHandler(evt:ProgressEvent):void{    
     if(evt.bytesLoaded == evt.bytesTotal){    
          
      CursorManager.removeBusyCursor();    
          
      var n:Number = new Date().getTime();              
      img.source = fileName +"?time="+n;    
     }    
    }     
<mx:TextInput id="pic_txt" width="150"/>    
   <mx:Button label="选择文件" click="doSelect()"/>    
   <mx:Button label="开始上传" click="doUpload()"/>   
  
   

internal function init():void{ 
    Security.allowDomain("*"); 
     file = new FileReference();   
     file.addEventListener(Event.SELECT, onSelect);   
    file.addEventListener(ProgressEvent.PROGRESS, processHandler);   
    file.addEventListener(IOErrorEvent.IO_ERROR,ioShow);                 
    } 
internal function ioShow(evt: IOErrorEvent){ 
     Alert.show(evt.toString(),"IO错误"); 
    } 
internal function doSelect():void{ 
//文件类型限制,第一个是文件类型选项只显示"png"类型的,第二个是只把.png文件显示出来
     var imageTypes:FileFilter = new FileFilter("png", "*.png");   
     var allTypes:Array = new Array(imageTypes);   
     file.browse(allTypes); 
    } 
internal function onSelect(evt:Event):void{ 
     pic_txt.text = file.name; 
    } 
internal function doUpload():void{ 
//指向struts的一个action,或servlte,注意一写要写完整路径 
     var request:URLRequest = new URLRequest("http://localhost:8080/productManage/uploadPic.do"); 
     
     fileName = "productImage\\"+new Date().getTime().toString() +".png"; 
       request.data = new URLVariables("filename="+fileName); 
          file.upload(request); 
       CursorManager.setBusyCursor(); 
    } 
//上传完成更新源 
    internal function processHandler(evt:ProgressEvent):void{ 
     if(evt.bytesLoaded == evt.bytesTotal){ 
       
      CursorManager.removeBusyCursor(); 
       
      var n:Number = new Date().getTime();           
      img.source = fileName +"?time="+n; 
     } 
    }  
<mx:TextInput id="pic_txt" width="150"/> 
   <mx:Button label="选择文件" click="doSelect()"/> 
   <mx:Button label="开始上传" click="doUpload()"/>

java端:

import java.io.File;    
import java.util.List;    
import javax.servlet.http.HttpServletRequest;    
import javax.servlet.http.HttpServletResponse;    
import org.apache.commons.fileupload.DiskFileUpload;    
import org.apache.commons.fileupload.FileItem;    
import org.apache.commons.fileupload.FileUploadException;    
import org.apache.struts.action.Action;    
import org.apache.struts.action.ActionForm;    
import org.apache.struts.action.ActionForward;    
import org.apache.struts.action.ActionMapping;    
public class UploadPicAction extends Action {    
public ActionForward execute(ActionMapping mapping, ActionForm form,    
   HttpServletRequest request, HttpServletResponse response) {    
  response.setContentType("text/html; charset=UTF-8");    
  DiskFileUpload upload = new DiskFileUpload();    
  try {    
   List itemlist = upload.parseRequest(request);    
//itemlist里包含多个参数,所以要判断一下是文件类型,还是参数字段,这里修改一下可以用于多个文件上传   
   for (int i = 0; i < itemlist.size(); i++) {    
    FileItem item = (FileItem) itemlist.get(i);    
    if (item.isFormField())[color=red]//是表单字段跳过 [/color]   
     continue;    
    String name = request.getRealPath("") + "[url=file://\\bin\\]\\bin\\[/url]"    
      + request.getParameter("filename");//获得Web应用绝对路径,如果路径不在web应用下,由于安全机制,将会说"找不到系统指定路径"    
  
    try {    
     File f = new File(name);    
     item.write(f);    
    } catch (Exception e) {    
     e.printStackTrace();    
    }    
   }    
  } catch (FileUploadException e) {    
   e.printStackTrace();    
  }    
  return null;    
}    
}   


转自http://www.iteye.com/topic/233248
分享到:
评论

相关推荐

    FLEX上传文件,flex upload

    在标题“FLEX上传文件,flex upload”和描述“flex上传文件的例子,支持多文件上传。”中,我们关注的核心知识点是Flex中的文件上传功能。 文件上传是Web应用中的常见需求,特别是在处理用户提交的多媒体内容时。在...

    Flex 上传文件控件 (带java服务端)

    本项目提供了一个完整的Flex文件上传控件,且集成了Java服务端处理,允许用户上传文件到服务器,并能进行多文件或单文件选择,以及设置上传文件大小限制,同时展示上传进度条,为用户提供友好的交互体验。...

    Mobile FLEX上传文件

    Mobile FLEX上传文件是一种在移动设备上利用Adobe Flex技术实现文件上传至服务器的过程。Flex是基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA),它支持多种平台,包括移动设备。在本场景中,...

    flex 上传文件(.net)

    Flex上传文件到.NET服务器是一种常见的交互方式,尤其在开发富互联网应用程序时。本文将深入探讨Flex客户端如何与.NET服务器进行文件上传的详细过程,并提供关键的技术知识点。 首先,`Flex`是一个开源的富互联网...

    Flex上传文件与下载

    - **Button**:两个按钮,分别用于打开文件选择对话框(选择文件)和上传文件。 - **List**:用于显示已选中的文件列表。 - **Button**:用于触发文件下载操作。 - **ProgressBar**:用于显示文件上传进度。 #### ...

    flex 上传文件代码

    在Flex中处理文件上传是一项常见的任务,尤其是在开发涉及用户交互和数据交换的Web应用时。下面我们将深入探讨Flex中的文件上传机制及其限制。 1. Flex文件上传组件:Flex提供了FileReference类,它是Flash Player ...

    Flash Flex 上传文件

    FileReference提供了选择文件、读取文件内容以及上传文件的方法。例如,你可以创建一个按钮,当用户点击时弹出文件选择对话框,选择的文件将存储在FileReference对象中。然后,通过调用FileReference的upload方法,...

    FLEX上传文件代码

    - 开始上传文件时,监听器会捕捉到`Event.COMPLETE`事件,表示文件上传完成。 - 在上传过程中,通过`ProgressEvent.PROGRESS`事件实时更新进度条。 #### 4. **异常处理** 当出现无法浏览文件或者上传失败的情况时...

    flex+java文件上传完整实例

    1. **FileReference类**:Flex中的FileReference类是与文件操作相关的基础,它允许用户选择一个或多个文件,并提供了读取、保存和上传文件的功能。 2. **事件监听**:在用户选择文件后,我们需要监听DataEvent....

    flex 上传文件转换成二进制类

    一个实现FLEX图片上传转换二进制的类 替换通过外部服务上传

    Flex 上传文件的demo

    实现DataGrid多文件上传,希望对你有帮助!

    Flex附件上传下载

    在Flex上传文件的场景中,我们需要创建一个自定义的HttpHandler,处理POST请求,并接收从Flex客户端传来的文件数据。接收到文件后,可以将其保存到服务器的指定位置。 下载部分则相对简单,通常由Flex客户端发起...

    Flex文件上传文件代码

    Flex 文件上传的文件代码 交你一步一步的完成上传功能

    Flex 多文件上传组件

    1. **安全性**:确保只有授权的用户才能上传文件,并且上传的文件不包含恶意代码。 2. **并发性**:如果多个用户同时上传,服务器需要处理并发请求,避免资源冲突。 3. **用户体验**:提供良好的反馈,如进度指示、...

    Flex多文件上传+md5验证文件是否上传

    标题“Flex多文件上传+md5验证文件是否上传”揭示了该技术的核心要点:使用Flex来处理多个文件的上传,并通过MD5哈希校验确保上传的文件与原始文件一致,防止数据篡改。 1. **多文件上传**:在Flex中,可以利用...

    flex文件上传下载,在线以pdf形式浏览文件

    例如,使用HTTPS进行加密传输,对上传文件进行病毒扫描,以及限制非法文件类型。同时,优化文件传输速度,比如采用分块上传和断点续传,以提高大文件上传的效率。 6. **后端接口**:Flex前端需要与后端服务进行交互...

    flash上传文件,flex上传,无刷新上传,php上传,含源码

    本文将深入探讨“flash上传文件,flex上传,无刷新上传,php上传”这一主题,并结合提供的源码文件,分析实现这些功能的关键技术和步骤。 首先,让我们了解一下“Flash上传文件”。在早期的Web开发中,Flash由于其强大...

    Flex文件上传(某GIS系统,我负责的文件上传部分)

    这个类提供了选择本地文件、读取文件内容以及上传文件到服务器的方法。用户通过点击按钮触发文件选择对话框,选择后,`FileReference`会处理文件并准备上传。 3. **事件监听**:为了跟踪文件选择和上传过程,我们...

    Flex文件上传的组件

    Flex文件上传组件是一种基于Adobe Flex技术的用户界面组件,它允许用户在Web应用程序中选择并上传文件。在Flex中,这种组件通常会显示一个文件选择对话框,让用户选择要上传的文件,并且会提供一个进度条来显示上传...

    Flex 向 java服务器 上传文件

    在Flex中,通过FileReference类选择和上传文件;在Java端,使用Spring MVC的MultipartFile接口接收并处理上传的文件。这个过程涉及到前端与后端的交互,对理解网络通信和文件处理机制有很好的实践意义。

Global site tag (gtag.js) - Google Analytics