将文件上传到as3中的服务器

时间:2012-09-03 10:03:16

标签: actionscript-3 flex file-upload air

如何在as3中将文件上传到服务器?我不想使用FileReference.browse()浏览文件。我尝试使用URLLoader来获取文件并转换为byteArray但是当我使用URLVariables将其发送到服务器时,它给出了IOError = 2032。我想在服务器上更新数据库。结构就像 电邮(字符串) sqlite_db(Blob)

我必须在一个请求中发送这两个变量。任何想法!

1 个答案:

答案 0 :(得分:2)

使用UploadPostHelper创建多部分数据表单是一个很好的类,上传过程变得更加容易:

ByteArray byteArray = [YOUR FILE DATA];

var urlRequest : URLRequest = new URLRequest();
urlRequest.url = 'http://your.server.com/destination';
urlRequest.contentType = 'multipart/form-data; boundary=' + UploadPostHelper.getBoundary();
urlRequest.method = URLRequestMethod.POST;
urlRequest.data = 
    UploadPostHelper.getPostData( 
        'filename.ext', 
        byteArray, 
        { 
            email:"emailParameter", 
            other:"otherParameter" 
        } );
urlRequest.requestHeaders.push( new URLRequestHeader( 'Cache-Control', 'no-cache' ) );

// create a loader & send the file to the server;
var urlLoader : URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
urlLoader.load( urlRequest );

当然,您可以收听整个活动并从服务器传回任何信息。希望有所帮助。