您的位置:首页 > 其它

as 3.0 如何浏览文件,实现文件上传和下载功能。

2011-06-29 17:19 716 查看
我们如果要实现上传或者下载自己需要的flash到服务器上,我们可以通过flash的FileReference 和FileReferenceList 类进行操作。FileReferenceList 类和FileReference 的区别在于FileReferenceList 可以一次性上传多个文件。

我们var fileReference:FileReference = new FileReference( );实例化一个fileReference对象,然后调用download()方法。flash需要一个URLRequest参数,告之服务器从哪里下载需要的文件,然后在download函数调用完后会弹出一个对话框,让你保存你选择保存的位置。这样如果文件名在服务器上是aa.txt那么在本地保存的也是aa.txt,我们可以指定download的第二个参数指定要保存的文件名称。我们最好把download写在trycatch异常处理函数中,最好在下载的时候为它增加一个addEventListener(IOErrorEvent.IO_ERROR, onIOError);错误处理函数,一旦下载错误的时候可以通知服务器进行处理。同理用户在选择好路径选择好保存好这取消对话框的时候也会触发事件,我们可以增加侦听addEventListener(Event.SELECT, onSelectFile)。也可以增加addEventListener(Event.CANCEL, onCancelDialog);然后可以在用户选择完毕后获得一些信息,显示出来。我们也可以通过addEventListener(ProgressEvent.PROGRESS, onFileProgress);增加一个下载进度侦听,我们可以获得下载的字节数和总字节数通过bytesLoaded和bytesTotal这两个属性。addEventListener(Event.COMPLETE, onFileComplete);可以在文件完全下载完后触发。

如果我们要上传文件,首先我们要先在本地选择要上传的flash文件,我们通过browse()方法,弹出一个选择框来选择,我们可以通过FileFilter对象数组作为browse()方法的参数来选择你要上传的类型。我们同理可以监听addEventListener(Event.SELECT, onSelectFile),来判断用户是否已经点击了选择,如果确定后,可以直接调用

upload()方法,upload也至少必须传入一个路径,那就是上传服务器地址。upload方法是通过post方式来提交数据的,Content-Type为multipart/form-data,默认下Content-Disposition设置为Filedata,因为脚本需要知道Content-Disposition值以便读取文件数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: