我遇到了一个奇怪的错误。
尝试使用createHTTPClient下载mp3文件。
文件完全下载,并在最后给出网络连接丢失错误。
如果我使用常规浏览器下载相同的文件,该文件将下载并与使用createHTTPClient下载的文件大小相同。
任何人都知道造成这种情况的原因是什么?
var c = Titanium.Network.createHTTPClient({enableKeepAlive:false});
c.setTimeout(10000);
c.ondatastream = function(e){
Ti.API.info(e.progress)
};
c.onerror = function(e){
Ti.UI.createAlertDialog({title:'XHR', message:'Error: ' + e.error}).show();
};
c.open('GET','http://asd123:r2d2@http://178.62.197.233/dl/110/ac33f71d7db3c3a0fdb80d90dbc95c7a15c6281f4e32a123c948c7467e421b28/128/');
c.file = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory, 'myfile.mp3');
c.onload = function(e){
Ti.API.info('Loaded!...')
};
c.send();
答案 0 :(得分:0)
好的,事实证明Titanium在这里没有错,服务器没有发送内容类型和内容大小的标题,这导致Titanium在下载完成后就吓坏了。
设置这些标题可以解决问题。