Ich möchte Bilder von meiner App (iOS und Android) an meinen Server senden. Mein Code funktioniert mit kleinen Bildern, aber wenn die Größe zu groß ist, passiert nichts, wenn ich die Daten sende, und die Anwendung verlangsamt sich. Können Sie mir die Probleme in meinem Code erläutern und wie Sie diese beheben können? Vielen Dank :)Titanium - Bild an Server senden: Dateigröße Bug
Hier ist mein Code:
var attached_media = [];
var file_btn = Ti.UI.createButton({ title: L('select') });
file_btn.addEventListener('click',function(e){
Titanium.Media.showCamera({
success:function(e) {
if(e.mediaType == Ti.Media.MEDIA_TYPE_PHOTO) {
attached_media.push(Ti.Utils.base64encode(e.media).text);
}
},
saveToPhotoGallery:true,
allowEditing: false,
mediaTypes: [Ti.Media.MEDIA_TYPE_PHOTO]
});
});
var send_button = Titanium.UI.createButton({
title: 'Send',
});
send_button.addEventListener('click',function(e){
var req = ......
req.send({ 'medias':JSON.stringify(attached_media), 'user_id':Ti.App.Properties.getInt('user_id')});
});
ich den unnötigen Code entfernt, weil es zu lange war! :)
Müssen Sie base64-Dateien senden? Vielleicht hat die Größe der Anfrage die maximale Länge überschritten. Die req-Variable wäre interessant zu sehen, weil Sie nichts über das Setup zeigen – miga
Verwenden Sie .NET Web API für Ihr Backend. Ich hatte ein ähnliches Problem. – Newport99
Ich habe es nicht geschafft, meine Dateien anders als mit base64-Kodierung hochzuladen. In meinen Post-Feldern sende ich: 'medias': JSON.stringify (attached_media). Und mein Back-End ist in PHP. Aber die Image Factory-Lösung funktioniert, also denke ich, ich werde es behalten :) –