• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>AIR>文章内容
  • AIR读取/写入本地文件
  • 来源:moorwind.com 作者:kono 2008-04-26 【

新的Myspace API将开放相册的上传接口,但是协议比较复杂。Actionscript3自带的FileReference类不能使用(使用FileReference类时时不能写入URLRequestHeader的),所以图片上传只能采用byteArray.
下面的代码演示了读取本地一个图片,然后写到桌面Images文件夹里为a.jpg的过程。

      private function init():void
     {
       var file:File = new File();
       var imageTypes:FileFilter = new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg; *.jpeg; *.gif; *.png");
       file.addEventListener( Event.SELECT, this.onSelect );
       file.browseForOpen( "Open", [ imageTypes ] );
     }
    
     private function onSelect( e:Event ):void
     {
       var stream:FileStream = new FileStream();
       stream.open( e.target as File, FileMode.READ );
       var fileDate:ByteArray = new ByteArray();
       stream.readBytes( fileDate, 0, stream.bytesAvailable );
       stream.close();
      
       var newImage:File = File.desktopDirectory.resolvePath( "Images/" + "a" + ".jpg" );
       stream = new FileStream();
       stream.open( newImage, FileMode.WRITE );
       stream.writeBytes( fileDate );
     }


--
补充,关于Actionscript3中的URLRequest:
1、关于contentType:我们可以自定义HTTP请求中contentType的值,如果传输的数据为二进制,一般需要设置为"multipart/form-data",但是如果使用FileReference类上传,这个属性是不能改变的(The FileReference.upload(), FileReference.download(), and HTMLLoader.load() methods do not support the URLRequest.contentType property)。
2、关于data:如果我们使用POST或者其它非GET方式使用HTTP,那么data的数据就是HTTP请求中的body值。POST/PUT到服务端的二进制数据一般直接写URLRequest.data = byteArray.
3、关于requestHeaders: URLRequest.requestHeaders是一个数组,需要为HTTP请求的header添加自定义数据时需要使用。比如需要在header内添加验证数据(有部分默认header的值是不可以设置的,参考AS3帮助文档):

  private var auth:URLRequestHeader = new URLRequestHeader( "Authorization", "usertoken=token" );
  this.urlrequest.requestHeaders.push( auth );

但是通过FileReference上传文件时,URLRequest不支持加入requestHeaders内容。即The FileReference.upload() and FileReference.download() methods do not support the URLRequest.requestHeaders parameter.



上一篇:Adobe AIR教程范例及源文件   下一篇:[翻译]AIR TIP4:调用SOAP Webservice
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)