2017-05-13 1 views
0

Ich versuche, über ein Bild mit dem Apache Cordova Datei-Transfer-Plugin zu einem Django-basierten Backend zu senden. Wenn ich ein Bild über das Dateiübertragungs-Plugin im Backend einreiche, erkennt es keinen der Parameter.Apache Cordova Datei-Transfer zu einem Django-Backend erkennt die Formulardaten nicht

function uploadPhoto(imageURI) { 
    var options = new FileUploadOptions(); 
    options.fileKey = "file"; 
    options.fileName = imageURI.substr(imageURI.lastIndexOf('/') + 1); 
    options.mimeType = "image/jpeg"; 
    var params = {}; 
    params.value1 = "test"; 
    params.value2 = "param"; 
    options.params = params; 
    var ft = new FileTransfer(); 
    ft.upload(imageURI, encodeURI("http://127.0.0.1:8000/declare/"), win, fail, options); 
} 

reqeust.FILES, request.POST, request.GET alles sind leere Wörterbuch. Wenn ich die URL an einen Hookbin weitergebe, scheint es aber alles zu erkennen. Was könnte das Problem sein, warum Django die Anfrage behält.FILES usw. leer?

@csrf_exempt 
def declare(request): 
    me = User.objects.get(username='test') 
    response = JsonResponse({'success': "ok"}) 
    response["Access-Control-Allow-Origin"] = "*" 
    response["Access-Control-Allow-Methods"] = "POST, GET, OPTIONS" 
    response["Access-Control-Max-Age"] = "1000" 
    response["Access-Control-Allow-Headers"] = "*" 
    return response 

enter image description here

+0

Ehrlich zu helfen, sagte, ich bin nicht wirklich sicher, was das Problem war. Am nächsten Tag mit dem Code praktisch unverändert und es begann zu arbeiten. Ich vermute, vielleicht etwas mit einem Browser-Cache oder Compiler zu tun. –

Antwort

0

Es ist wie das cordova Plugin sieht verwendet Übertragung standardmäßig gestückelt.

chunkedMode: Whether to upload the data in chunked streaming mode. Defaults to true. (Boolean) 

https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file-transfer/

Sie möchten, dass deaktivieren oder eine Bibliothek verwenden chunk den Upload auf der Serverseite wie https://github.com/juliomalegria/django-chunked-upload

+0

Dies ist ein guter Zeiger, um zu sehen - aber leider, als ich die http-Post mit Fiddler inspiziert, gab es keinen Chunked-Modus aktiv. Ohne wirklich etwas zu tun - ich habe den Code zu arbeiten, warum es funktioniert, schlägt mich. –

+0

Interessant ... Weil ich nichts anderes als das gesehen habe, um ein Grund zu sein, warum es nicht funktionieren würde – Colwin

Verwandte Themen