通过AIR app上传图片

时间:2012-06-06 16:37:05

标签: php image actionscript-3 air upload

Air应用程序出现问题,并通过php将图像上传到服务器。 我做错了什么?在进展上一切都很好,正在显示进度和响应,但php无法找到图像。

        var request:URLRequest = new URLRequest("http://xxxxxxxxxx/api.php");           
        request.method = URLRequestMethod.POST;
        request.contentType = "application/octet-stream";
        var variables:URLVariables = new URLVariables();  
        variables.action = "addEntry";  
        variables.user = "1";
        request.data = variables; 

        var file:FileReference = new FileReference();           
        var filenameSmall:String = "xxxxx/" + _userName+"/thumbnail.jpg";
        if(_fb == true)
        {
            filenameSmall = "xxxxx/" + user +"/thumbnail.jpg";
        }
        file = File.desktopDirectory.resolvePath( filenameSmall );
        file.addEventListener(ProgressEvent.PROGRESS, uploadProgress);
        file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadDataComplete);
        file.addEventListener(SecurityErrorEvent.SECURITY_ERROR, uploadError);
        file.addEventListener(HTTPStatusEvent.HTTP_STATUS, uploadError); 
        file.addEventListener(IOErrorEvent.IO_ERROR, uploadError);
        file.upload(request, "image");

1 个答案:

答案 0 :(得分:1)

上传文件引用无法向php文件发送任何请求或变量。它只是将文件上传到您在网址中指定的路径。如果你想用PHP保存图像

  1. 你应该将图像转换为字节数组,
  2. 执行任何编码过程(PNGEncoding或JPEGEncoding),
  3. 如果您需要,请执行任何标准编码(base64)以确保安全性
  4. 然后将该字符串发送到php
  5. 让你的php文件读取该数据并写下来。