Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > VB.NET > Flash 8(ActionScript 2)+Asp.net(C#)实现带进度条文件上传
【标  题】:Flash 8(ActionScript 2)+Asp.net(C#)实现带进度条文件上传
【关键字】:Flash,ActionScript,+Asp.net,C#
【来  源】:http://www.cnblogs.com/bluelueuee/archive/2006/12/18/595196.html

Flash 8(ActionScript 2)+Asp.net(C#)实现带进度条文件上传

Your Ad Here

      最近由于项目的需求,对flash做了一番研究,并结合Asp.net实现RIA开发。以下是用flash作为客户端(文件上传),通过asp.net作为服务器端(实现文件接收)的一个实例:
      一、客户端基本实现流程:
      1、flash设计界面如下图(1)所示:
         
                                                图(1)
      2、flash运行界面如下图(2)所示:
      
                                                图(2)
      3、在flash中单击“浏览”按钮,弹出以下对话框(图(3)),然后选将要上传的文件;
      
                                                图(3)
      4、选择好要上传的文件然后点击打开;(比如我选择guizu.wmv)图(4):
      

                                                图(4)
      5、然后点击上传,接着执行上传过程(图(5)):
      
                                                图(5)
      二、flash核心代码如下:
      ////import flash.net.FileReference;
      ////import flash.net.FileReferenceList;
      ////
      ////var fileRefList:FileReferenceList = new FileReferenceList();
      ////var totalBytes:Number = 0;
      ////var uploadedBytes:Number = 0;
      ////var uploadedBytes2:Array;
      ////var filesCompleted:Number = 0;
      ////var totalFiles:Number = 0;
      ////var fileRefListener:Object = new Object();
      ////
      ////var allTypes:Array = new Array();
      ////var videoTypes:Object = new Object();
      ////videoTypes.description = "视频文件(*.wmv; *.asf; *.avi; *.mpg; *.3pg;*.mov)";
      ////videoTypes.extension = "*.wmv; *.asf; *.avi; *.mpg; *.3pg;*.mov";
      ////allTypes.push(videoTypes);
      ////
      ////uploadBtn.enabled = false;
      ////_root.progressBar.visible = false;
      ////
      ////
      ////function rePaintProBar (pb, xCor, yCor) {
      //// _root.destroyObject(pb);
      //// _root.createObject("ProgressBar",pb,0);
      ////    _root.progressBar.move(xCor,yCor);
      //// _root.progressBar.label = "正在上传 %3%% ";
      //// _root.progressBar.labelPlacement = "right";
      //// _root.progressBar._width = 359;
      ////}
      ////
      ////fileRefListener.onSelect = function (fileRefList:FileReferenceList):Void {
      //// uploadBtn.enabled = true;
      //// rePaintProBar("progressBar", 109.0, 41.0);
      //// var list:Array = fileRefList.fileList;
      ////    var fileRef:FileReference;
      //// totalBytes = 0;
      ////    for(var i:Number = 0; i < list.length; i++) {
      ////        fileRef = list[i];
      ////  totalBytes += fileRef.size;
      //// txtFilePath.text = fileRef.name;
      ////    }
      ////}
      ////
      ////fileRefListener.onCancel = function (fileRef:FileReference):Void {
      //// uploadBtn.enabled = false;
      ////}
      ////
      ////fileRefListener.onOpen = function (fileRef:FileReference):Void { 
      //// txt_FilePath.label = fileRef.name;
      ////}
      ////
      ////fileRefListener.onProgress = function (fileRef:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
      //// progressBar.mode = "manual";
      //// var temp:Number = bytesLoaded - uploadedBytes2[fileRef.name]
      //// uploadedBytes2[fileRef.name] = bytesLoaded;
      //// uploadedBytes += temp;
      //// progressBar.setProgress(uploadedBytes, totalBytes);
      //// txtUploaded.text = GetSizeType(uploadedBytes);
      //// txtTotal.text = GetSizeType(totalBytes);
      ////
      ////}
      ////
      ////fileRefListener.onComplete = function (fileRef:FileReference):Void {
      //// filesCompleted++;
      //// if(filesCompleted == totalFiles)
      ////  FinishedUpload();
      ////}
      ////
      ////fileRefListener.onHTTPError = function(fileRef:FileReference):Void {
      //// trace("onHTTPError:"+ fileRef.name);
      ////}
      ////
      ////fileRefListener.onIOError = function(fileRef:FileReference):Void {
      ////    trace("onIOError: " + fileRef.name);
      ////
      ////}
      ////
      ////fileRefListener.onSecurityError = function(fileRef:FileReference, errorString:String):Void {
      ////    trace("onSecurityError: " + fileRef.name + " errorString: " + errorString);
      ////}
      ////
      ////fileRefList.addListener(fileRefListener);
      ////
      ////browseButn.clickHandler = function () {
      //// fileRefList.browse(allTypes);
      ////}
      ////
      ////uploadBtn.clickHandler = function () {
      //// var list:Array = fileRefList.fileList;
      //// var fileRef:FileReference;
      //// if(uploadBtn.label == "上传")
      //// {   
      ////  browseBtn.enabled = false;
      ////  uploadBtn.label = "取消";
      ////  totalFiles = list.length;
      ////  filesCompleted = 0;
      ////  uploadedBytes = 0;
      ////  uploadedBytes2 = [];
      ////  txtUploadNum.text = "已上传:";
      ////  txtFileTotal.text = "文件大小:";
      ////  for(var i:Number = 0; i < list.length; i++) {
      ////   fileRef = list[i];
      ////   fileRef.addListener(fileRefListener);
      ////   uploadedBytes2[fileRef.name] = 0;
      ////   if(uploadPage != undefined)
      ////    fileRef.upload(uploadPage);
      ////  }
      //// }
      //// else
      //// {  
      ////  for(var i:Number = 0; i < list.length; i++) {
      ////   fileRef = list[i];
      ////   fileRef.cancel();
      ////  }
      ////  uploadBtn.label = "上传";
      ////  browseBtn.enabled = true;
      //// }
      ////}
      ////
      ////function FinishedUpload()
      ////{
      //// uploadBtn.enabled = false;
      //// uploadBtn.label = "上传";
      //// browseBtn.enabled = true;
      //// if(completeFunction != undefined)
      //// {
      ////  getURL('javascript:' + completeFunction);
      //// }
      ////}
      ////
      ////function GetSizeType(size:Number)
      ////{
      //// if(size < 1024)
      ////  return int(size*100)/100 + " bytes";
      //// if(size < 1048576)
      ////  return int((size / 1024)*100)/100 + "KB";
      //// if(size < 1073741824)
      ////    return int((size / 1048576)*100)/100 + "MB";
      ////  return int((size / 1073741824)*100)/100 + "GB";
      ////}

      三、服务器端Asp.net实现核心代码如下:
       ////using System;
       ////using System.Data;
       ////using System.Configuration;
       ////using System.Collections;
       ////using System.Web;
       ////using System.Web.Security;
       ////using System.Web.UI;
       ////using System.Web.UI.WebControls;
       ////using System.Web.UI.WebControls.WebParts;
       ////using System.Web.UI.HtmlControls;
       ////
       ////public partial class Upload : System.Web.UI.Page
       ////{
       ////    protected void Page_Load(object sender, EventArgs e)
       ////    {
       ////        string saveToFolder = "Upload";
       ////        HttpFileCollection uploadedFiles = Request.Files;
       ////        string Path = Server.MapPath(saveToFolder);
       ////        for (int i = 0; i < uploadedFiles.Count; i++)
       ////        {
       ////            HttpPostedFile F = uploadedFiles[i];
       ////            if (uploadedFiles[i] != null && F.ContentLength > 0)
       ////            {
       ////                string newName = F.FileName.Substring(F.FileName.LastIndexOf("\\") + 1);
       ////                F.SaveAs(Path + "/" + newName);
       ////            }
       ////        }
       ////    }

       本实例目前还只实现了文件上传功能,还未对文件种种业务需求的判断与处理以及文件上传后的数据处理等等,待今后在项目中具体扩充......

采用C#泛型实现状态(State)模式:【上一篇】
鼠标移动的加速算法(MOUSEEVENTF_MOVE):【下一篇】
【相关文章】
  • 采用C#泛型实现状态(State)模式
  • 《Visual C#.NET数据库开发经典案例解析》附书光盘免费下载!
  • Leo FC- 一个基于C#的FC模拟器
  • 文件属性修改器(C#)
  • FLASH大头贴 FLASH部分源程序解析
  • 关于flash网站全站制作的注意事项,及技术和剖析
  • 我想我所保存的声音可以导出在FLASH 里面使用
  • 要注册 xenap14是把EXE解为SWF的 ? zeus_a01是分解层的 ? DeFlash1.3可以解密和分解
  • PM在flash5中导八一张位图图片,?择modify 猅race bitmap
  • 这个Flash开头那个时锋网络的那个效果怎么做出来的
  • 【随机文章】
  • WINDOWS自带的无敌kill进程命令
  • 用XSL显示XML
  • 图文并茂——使用xfire编写webservice,并通过C#调用
  • Web动画图像分解在VB动画设计中的应用
  • 羽毛
  • ISA附加调节和监视工具(3)
  • 视频类网站的简单研究
  • pb与java、dotnet的webservice交互问题
  • 安装fedora1
  • 关于 Initrd
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.