2014-02-09 66 views
1

我正在开发一个将图像上传到服务器的移动android项目。我正在使用服务器上的PHP脚本帮助在Flash Builder中完成此工作。我的网页由goDaddy托管,我已经完成了上传文件的权限;我可以通过网页上传图片。但是,当我尝试从应用程序发送时,它不会上传。有关这个问题的任何想法?我的代码如下所示;Flash Builder将照片上传到服务器

Flash Builder中:在服务器上

<?xml version="1.0" encoding="utf-8"?> 
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:s="library://ns.adobe.com/flex/spark" 
     title="Photo Upload"> 

    <fx:Script> 
     <![CDATA[ 
      private var urlRequest:URLRequest = new URLRequest("http://www.mywebsite.com/upload_file.php"); 
      private var file:File; 

      //take a new picture with the camera 


      //select a picture from the camera roll (gallery) 
      protected function uploadGallery_clickHandler(event:MouseEvent):void 
      { 
       if (CameraRoll.supportsBrowseForImage) 
       { 
        trace("camera roll is supported"); 
        var roll:CameraRoll = new CameraRoll(); 
        roll.browseForImage(); 
        roll.addEventListener(MediaEvent.SELECT,selectCompleteHandler); 
       } 
       else 
       { 
        trace("camera roll not supported"); 
        statusText.text = "Camera roll not supported on this device."; 
       } 
      } 

      //when the selection is complete upload it 
      protected function selectCompleteHandler(event:MediaEvent):void 
      { 
       trace("event.data.file.url; = "+event.data.file.url); 

       file = event.data.file; 
       file.addEventListener(Event.COMPLETE,uploadCompleteHandler); 
       file.addEventListener(Event.OPEN,openUploadHandler); 
       file.upload(urlRequest); 

      } 

      protected function uploadCompleteHandler(event:Event):void 
      { 
       trace("upload complete"); 
       statusText.text = "Photo Uploaded"; 
      } 

      protected function openUploadHandler(event:Event):void 
      { 
       trace("uploading"); 
       statusText.text = "Uploading..."; 
      } 
     ]]> 
    </fx:Script> 

    <s:VGroup x="21" y="23" width="200" height="200"> 
     <s:Label id="statusText" fontSize="24" text="Choose a Photo..."/> 
     <s:Button id="galleryPhotoButton" label="Upload from Gallery" 
        click="uploadGallery_clickHandler(event)"/> 
    </s:VGroup> 
</s:View> 

PHP脚本:

<?php 
$allowedExts = array("gif", "jpeg", "jpg", "png"); 
$temp = explode(".", $_FILES["file"]["name"]); 
$extension = end($temp); 
if ((($_FILES["file"]["type"] == "image/gif") 
|| ($_FILES["file"]["type"] == "image/jpeg") 
|| ($_FILES["file"]["type"] == "image/jpg") 
|| ($_FILES["file"]["type"] == "image/pjpeg") 
|| ($_FILES["file"]["type"] == "image/x-png") 
|| ($_FILES["file"]["type"] == "image/png")) 
&& ($_FILES["file"]["size"] < 20000) 
&& in_array($extension, $allowedExts)) 
    { 
    if ($_FILES["file"]["error"] > 0) 
    { 
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; 
    } 
    else 
    { 
    echo "Upload: " . $_FILES["file"]["name"] . "<br>"; 
    echo "Type: " . $_FILES["file"]["type"] . "<br>"; 
    echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>"; 
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>"; 

    if (file_exists("upload/" . $_FILES["file"]["name"])) 
     { 
     echo $_FILES["file"]["name"] . " already exists. "; 
     } 
    else 
     { 
     move_uploaded_file($_FILES["file"]["tmp_name"], 
     "upload/" . $_FILES["file"]["name"]); 
     echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; 
     } 
    } 
    } 
else 
    { 
    echo "Invalid file"; 
    } 
?> 

回答

0

你得到任何错误或以上代码的执行任何异常? 您也可以尝试添加urlRequest方法,如下所示:

urlRequest.method = URLRequestMethod.POST; 
相关问题