apache cordovaファイル転送プラグインを使用して写真をdjangoベースのバックエンドに送信しようとしています。バックエンドのファイル転送プラグイン経由で画像を送信すると、パラメータが認識されません。Apache Cordovaのdjangoバックエンドへのファイル転送でフォームデータが認識されない
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すべてが空です。辞書。私はフックビンにURLを提出すると、それはすべてを認識するようです。 djangoがリクエストを保持する理由は何でしょうか?ファイルなどは空ですか?
@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
などのサーバー側のアップロードを支援するためのライブラリを使用したい場合があり
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file-transfer/
正直なところ、私は問題が何であったか、本当にわからないと述べました。翌日、コードは事実上変わらず、作業を開始しました。私は多分ブラウザのキャッシュやコンパイラと関係があると思っています。 –