2010-03-28 2 views
3

Я, наконец, приземлился на разработку приложения для iPhone с использованием Titanium Mobile. Теперь проблема, с которой я сталкиваюсь, заключается в том, что я могу запустить приложение, и приложение также отправляет изображение на сервер. Но Im не смог увидеть файл, который был загружен на сервер. Я вставил код приложения iPhone, чтобы отправить изображение на сервер, а также файл PHP, который получит файл из приложения.Как загрузить изображения из приложения iPhone, разработанного с использованием 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 
}); 

А вот PHP код на сервере: http://www.pastie.org/891050

Я не знаю, где я буду неправильно. Пожалуйста, помогите мне в этом вопросе. Хотелось бы предоставить, если вам нужна дополнительная информация.

ответ

2

использовать следующий код для 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

Привет, Спасибо! И теперь все работает отлично! Но Im не смог получить файл с расширением! Как и в случае, iPhone загружает изображения без какого-либо уникального имени или расширения! –

Смежные вопросы