FileTransferプラグインを使用して、Phonegap を使用してモバイル デバイスからサーバーに amr ファイルをアップロードしようとしています。
var uri = "./" + $scope.audio.src;
$scope.audio.release();
var options = new FileUploadOptions();
options.fileKey = "audio";
options.fileName = uri.substr(uri.lastIndexOf('/') + 1);
options.mimeType = "audio/AMR";
options.httpMethod = "POST";
options.chunkedMode = false;
console.log("Options:", options);
options.params = {
exhibitId: $scope.id,
title: $scope.title,
email: $scope.email
};
var ft = new FileTransfer();
ft.upload(uri, encodeURI("http://someurl.com/api/recording/create"),
$scope.uploadSuccess,
$scope.uploadFailure,
options
);
audio はMediaオブジェクトです。
サーバー (nodejs) で検査すると、リクエスト オブジェクトの body プロパティと file プロパティが空で、ヘッダーの content-length が 0 に設定されています。ファイルがリクエストに正しく添付されていないようです。