0

Я подготовил приложение с загрузкой изображения. Он отправляет некоторый текст и изображение.Проблема с загрузкой изображения титановой аппроксиратора Когда услуга звонка без изображения

Он отлично работает, когда я добавляю изображение и контент (текст). К сожалению, это не работает, когда я называю обслуживание без изображения см ниже код,

var params = { 
     file :$.selectedImageVw.image, //if file is not selected it will send as null 
     UserId : Ti.App.userID, 
     postContent : $.postMessage.value 
    }; 
var xhr = Titanium.Network.createHTTPClient(); 
    xhr.onreadystatechange = function() { 
     if (this.readyState == 4) { 
      progressVw.hide(); 

      // callback("Success"); 
      // alert(this.responseData); 
      progressVw.hide(); 
      xhr = null; 
     } 
    }; 

    xhr.setRequestHeader('Content-Type', 'multipart/form-data'); 
    xhr.setRequestHeader('enctype', 'multipart/form-data'); 
    xhr.setRequestHeader('Content-length', params.length); 
    xhr.open("POST", "uploadUrl"); 
    xhr.send(params); 

Я надеюсь, что кто-то может мне помочь. Спасибо заранее!

ответ

0

Попробуйте использовать службу, например http://requestb.in/, чтобы проверить, являются ли запросы, сделанные клиентом, проблемой или используемым вами бэкэнд.

+0

Привет @FokkeZandbergan, Спасибо за ур ответ, у меня есть тест с Postman Rest Client (Google API). Но с теми же параметрами и хорошей работой. Когда работа с мобильным телефоном не работает. – Mohanraj

+0

Если я правильно вас понял, вы протестировали его с другим клиентом. Но я предлагаю, чтобы вы использовали requestb.in для тестирования клиента Titanium с другим сервером. Таким образом, вы можете точно увидеть, как поступает запрос и, например, сравните это с использованием Postman Rest Client на том же URL-адресе requestb.in. –

+0

@FokkeZandbergan i ave отслеживает ошибку разработчиком back end, и они возвращают то, что я отправил из интерфейса. когда я отправляю с пустым изображением, они ничего не получили, что означает, что дополнительные параметры, такие как userId, также не получаются. я действительно не знаю, как это разрешить.): – Mohanraj

0

@FokkeZandbergan спасибо за ваш respone, Этот вопрос решительность очень простой модификации»

xhr.setRequestHeader ('Content-Type', 'многочастного/форма-данные');

изменено на

xhr.setRequestHeader ('Content-Type', "применение/х-WWW-форм-urlencoded");

Теперь его работы с обоими imags и без изображений.

Это может помочь кому-то. :)

+0

Хорошо. Также не обязательно, чтобы 'params.length' всегда был' undefined' для объекта. Возможно, вы захотите также удалить это. –