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