2016-05-18 2 views
0

Titanium AppceleratorモバイルアプリケーションからWebサーバーに写真を送信しようとしています。チタンXHR - XHR.SEND中にXMLパーサーを誤ってXMLパーサーを使用していて意図的に使用していません

私は、次の例を使用しています:

var upload_token = "hi! I am a token!"; 

var content = ''; 
var boundary = '---------------------------170062046428149'; 

content += '--'+ boundary + '\r\n'; 
content += 'Content-Disposition: form-data; name="uploadToken"\r\n'; 
content += '\r\n'; 
content += upload_token + '\r\n'; 
content += '--'+ boundary + '\r\n'; 
content += 'Content-Disposition: form-data; name="myNickname"\r\n'; 
content += '\r\n'; 
content += myNickname+'\r\n'; 
content += '--'+ boundary + '\r\n'; 

content += 'Content-Disposition: form-data; name="nativePath"\r\n'; 
content += '\r\n'; 
content += 'file:///storage/emulated/0/Pictures/app-name/tia-217296905.jpg\r\n'; 
content += '--'+ boundary + '\r\n'; 

content += 'Content-Disposition: form-data; name="fileContent"; filename="/appicon.png"\r\n'; 
content += 'Content-Type: binary/octet-stream\r\n'; 
content += '\r\n'; 

var file = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory, '/appicon.png'); 
var full_content = Ti.createBuffer({value: content}); 
var fileStream = Ti.Stream.createStream({ source : file.read(), mode : Titanium.Stream.MODE_READ}); 
var content_size = full_content.append(Ti.Stream.readAll(fileStream)); 
Ti.API.debug('Appended File Size : ' + content_size); // ==> same as file.size 

content = '\r\n'; 
content += '--'+ boundary + '--\r\n'; 
full_content.append(Ti.createBuffer({value : content})); 

xhr = Ti.Network.createHTTPClient(); 
var send_data = full_content.toBlob(); 

var url = 'http://website.address/api/push_photo.php'; 
xhr.onload = function(e){ 
    console.log(e); 
    alert("DONE!"); 
}; 
xhr.onerror = function(e){ 
    console.log(e); 
}; 
xhr.open('POST', url); 
xhr.setRequestHeader('Content-Type', 'multipart/form-data; boundary=' + boundary); 
xhr.send({image:send_data}); 

すべてが期待通りに、ファイルがサーバーに送信され、私の携帯電話でのチタンのアプリケーションが言う作品「DONE!」。 [ERROR]

:XMLModule:xhr.onloadがトリガされたことを意味している...

私の質問は、私はデベロッパーコンソールで見ることができる午前エラーに関してれる(KrollRuntimeThread)[13440、 XMLModule:[upl ... @ 7:XML [ERROR]:XMLModule:org.xml.sax.SAXParseException:予期しない トークン(位置:TEXT配列[ERROR]:XMLModule:([ERROR]: XMLModule:[upl ... @ 7:[ERROR]:XMLModule:at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:146) [エラー] :XMLModule:at [エラー]:XMLModule: にti.modules.titanium.xml.XMLModule.parse(XMLModule.java:82)[ERROR ]: XMLModule: XMLModule: ti.modules.titanium.network.TiHTTPClient.getResponseXMLで(TiHTTPClient.java ti.modules.titanium.xml.XMLModule.parse(XMLModule.java:68)[ERROR]で: 562) [ERROR]:XMLModule: でti.modules.titanium.network.HTTPClientProxy.getResponseXML(HTTPClientProxy.java:129) [ERROR]:XMLModule: でorg.appcelerator.kroll.runtime.v8.V8Object。 nativeCallProperty(ネイティブ メソッド)[エラー]:XMLModule: org.appcelerator.kroll.runtime.v8.V8Object.callProperty(V8Object.java:73) [ERROR]:XMLModule:at org.appcelerator.kroll.KrollProxy.handleMessage(KrollProxy.java:1155) [エラー] :XMLModule:at android.os.Handler.dispatchMessage(Handler.java:95)[エラー]: XMLModule:android.os.Looper.loop(Looper.java:137)[エラー]: XMLModule: org.appcelerator.kroll.Kroll.KrollRuntime $ KrollRuntimeThread.run(KrollRuntime.java:118) [エラー]:TiHTTPClient :(KrollRuntimeThread)[7,13656] XMLのエラー解析: XML [ERROR]:TiHTTPClient:org.xml.sax.SAXParseException :予期しない トークン(位置:TEXT配列[エラー]:TiHTTPClient:([ERROR]: TiHTTPClient:[upl ... @ 7:[email protected] 1) [ERROR]:TiHTTPClient: org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:146)で [ERROR]:TiHTTPClient: でjavax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:107) [ERROR]:TiHTTPClient: TiHTTPClient: ti.modules.titanium.xml.XMLModule.parse(XMLModule.java:82)[ERROR]で: TiHTTPClient: ti.modules.titanium.network.TiHTTPClient.getResponseXML(TiHTTPClient.java:562) [ERRORで ti.modules.titanium.xml.XMLModule.parse(XMLModule.java:68)[ERROR]で]:TiHTTPClient:at ti.modules.titanium.network.HTTPClientProxy.getResponseXML( HTTPClientProxy.java:129) [エラー]:TiHTTPClient:at org.appcelerator.kroll.runtime.v8.V8Object。nativeCallProperty(ネイティブ 方法)[ERROR]:TiHTTPClient:TiHTTPClient: org.appcelerator.kroll.KrollProxyでorg.appcelerator.kroll.runtime.v8.V8Object.callProperty(V8Object.java:73) [ERROR]で.handleMessage(KrollProxy.java:1155) [エラー]:TiHTTPClient: とandroid.os.Handler.dispatchMessage(Handler.java:95)[エラー]: TiHTTPClient:android.os.Looper.loop(Looper。 Javaの:137)[ERROR]: TiHTTPClient: org.appcelerator.kroll.KrollRuntime $ KrollRuntimeThread.run(KrollRuntime.java:118) で[WARN]:TiBlob:(KrollRuntimeThread)[24,13680]はgetFileない がサポート非ファイルのblob型の場合[WARN]:TiBlob: (KrollRuntimeThread)[8,13688] getNativePathは ファイル以外のblob型ではサポートされていません。 [情報]:
{"code":0、 "source":{"responseText": "配列\ n(\ n [uploadToken] =>こんにちは 私はトークンです!\ n [myNickname] => raholl \ n [nativePath] => ファイル:///storage/emulated/0/Pictures/app-name/tia-217296905.jpg \ n)\ n "、" location ":" http:// **** 「接続タイプ」:「POST」、「validatesSecureCertificate」:false、「validateSecureCertificate」:false、 \ n接続:キープアライブ\ nContent-Length:166 \ nContent-Type \ nContent-Type \ nContent-Type \ nContent-Type :text/html \ n日時:Wed、 18 5月2016 02:10:12 GMT \ nケープ・アライブ:タイムアウト= 5、 最大= 100 \ nサーバー:Apache/2.2.22 (Debian)\ nVariable:Accept-Encoding \ nX-Android-Received-Millis:1463537845271 \ nX-Android-Sent-Millis:1463 "responseXML":null、 "responseData":{"file":null、 "nativePath":null、 "height":537844807 \ nX-Powered By:PHP/5.5.33-1〜dotdeb + 7.1 \ n " 0、 "length":166、 "width":0、 "mimeType": "text/html"、 "apiName": "Ti.Blob"、 "text": "配列\ n(\ n [uploadToken] = >こんにちは!私はトークンです!\ n [myNickname] => raholl \ n
[nativePath] => ファイル:///storage/emulated/0/Pictures/app-name/tia-217296905.jpg \ n) "、" type ":2、" bubbleParent ":true}、" autoRedirect ":true、" apiName ":" Ti.Network.HTTPClient "、" autoEncodeUrl ":true、" connected ":false、" bubbleParent ":true 、 "_イベント":{ "disposehandle":{}}}、 "成功":真} [INFO]:ALERT(KrollRuntimeThread)[8,13696]この「エラー解析は何行

行いますXML [ERROR] "の出番ですか?それを修正する方法

すべてはうまくいくようですが、エラーはかなり深刻です...

すべてのアイデアをいただければ幸いです。

答えて

0

LOLそれはにconsole.logなければ

xhr.onload = function(e){ 
divider("ONLOAD DONE"); 
//console.log(JSON.stringify(e)); 
//console.log(e); 
alert("done"); 
}; 

console.log(e); 

た、エラーが表示されず、すべてが正常に動作します。おそらくeが空であったか、またはロギングに有効なオブジェクトではありませんでした。

関連する問題