2010-03-28 7 views
3

J'ai finalement atterri dans le développement d'une application iPhone en utilisant Titanium Mobile. Maintenant, le problème auquel je suis confronté est, Im capable de courir l'application, et l'application envoie également l'image au serveur. Mais je ne suis pas capable de voir le fichier téléchargé sur le serveur. J'ai collé le code de l'application iPhone pour envoyer l'image au serveur et aussi, le fichier PHP qui recevrait le fichier de l'application.Comment télécharger des images à partir de l'application iPhone développée en utilisant Titanium

var win = Titanium.UI.currentWindow; 

var ind=Titanium.UI.createProgressBar({ 
width:200, 
height:50, 
min:0, 
max:1, 
value:0, 
style:Titanium.UI.iPhone.ProgressBarStyle.PLAIN, 
top:10, 
message:'Uploading Image', 
font:{fontSize:12, fontWeight:'bold'}, 
color:'#888' 
}); 

win.add(ind); 
ind.show(); 

Titanium.Media.openPhotoGallery({ 

success:function(event) 
{ 
    Ti.API.info("success! event: " + JSON.stringify(event)); 
    var image = event.media; 

    var xhr = Titanium.Network.createHTTPClient(); 

    xhr.onerror = function(e) 
    { 
     Ti.API.info('IN ERROR ' + e.error); 
    }; 
    xhr.onload = function() 
    { 
     Ti.API.info('IN ONLOAD ' + this.status + ' readyState ' + this.readyState); 
    }; 
    xhr.onsendstream = function(e) 
    { 
     ind.value = e.progress ; 
     Ti.API.info('ONSENDSTREAM - PROGRESS: ' + e.progress+' '+this.status+' '+this.readyState); 
    }; 
    // open the client 
    xhr.open('POST','http://www.myserver.com/tmp/upload2.php'); 
    xhr.setRequestHeader("Connection", "close"); 
    // send the data 
    xhr.send({media:image}); 

}, 
cancel:function() 
{ 

}, 
error:function(error) 
{ 
}, 
allowImageEditing:true 
}); 

Et voici le code PHP sur le serveur: http://www.pastie.org/891050

Je ne sais pas où je vais mal. S'il vous plaît aidez-moi dans ce numéro. J'adorerais fournir si vous avez besoin de plus d'informations.

Répondre

2

utilisez le code suivant pour Php:

$target_path = "uploads/"; 

$target_path = $target_path . $_FILES['media']['name']; 

if(move_uploaded_file($_FILES['media']['tmp_name'],$target_path)) { 
echo "The file ". basename($_FILES['media']['name']). 
" has been uploaded"; 
} 
else 
{ 
echo "There was an error uploading the file, please try again!"; 
} 
+0

Salut, Merci! Et maintenant ça marche bien! Mais je ne suis pas capable d'obtenir le fichier avec l'extension! Comme dans, l'iPhone télécharge les images sans nom ou extension unique! –