Ionic モバイル アプリケーションにng-file-uploadライブラリを使用していますが、このライブラリの実装に課題があります。REST API にも Codeigniter を使用しました。私のアップロード要求には、フィールド (いくつかのデータ) と画像が必要です。これまでの私のコードは次のとおりです。
$scope.doSubmitAttachment = function(){
console.log('@@@@@doSubmitAttachement- Process Request--' + $scope.images);
$scope.upload($scope.images);
};
$scope.upload = function (file) {
Upload.upload({
url: 'http://192.168.8.247:130/api/upload',
fields: {'username': 'juan'},
file: file
}).progress(function (evt) {
var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
console.log('progress: ' + progressPercentage + '% ' + evt.config.file.name);
}).success(function (data, status, headers, config) {
console.log('file ' + config.file.name + 'uploaded. Response: ' + data);
}).error(function (data, status, headers, config) {
console.log('error status: ' + status);
})
};
これはすでにボタンに接続されていますが、ボタンを押すたびに何も起こりません.ログファイルにエラー0が表示されます.
09-01 11:56:07.726 11315-11315/com.ionicframework.myapp I/chromium﹕ [INFO:CONSOLE(173)] "@@@@@doSubmitAttachement- Process Request--file:///data/data/com.ionicframework.myapp/cache/maxresdefault1914240190.jpg", source: file:///android_asset/www/plugins/cordova-plugin-console/www/console-via-logger.js (173)
09-01 11:58:14.906 11315-11315/com.ionicframework.myapp I/chromium﹕ [INFO:CONSOLE(173)] "error status: 0", source: file:///android_asset/www/plugins/cordova-plugin-console/www/console-via-logger.js (173)
09-01 13:16:09.602 1541-1541/com.ionicframework.mase101409 I/chromium﹕ [INFO:CONSOLE(173)] "error data: null", source: file:///android_asset/www/plugins/cordova-plugin-console/www/console-via-logger.js (173)
09-01 13:16:09.602 1541-1541/com.ionicframework.mase101409 I/chromium﹕ [INFO:CONSOLE(173)] "error config: [object Object]", source: file:///android_asset/www/plugins/cordova-plugin-console/www/console-via-logger.js (173)
09-01 13:16:09.606 1541-1541/com.ionicframework.mase101409 I/chromium﹕ [INFO:CONSOLE(173)] "error headers: function (name) {
if (!headersObj) headersObj = parseHeaders(headers);
if (name) {
var value = headersObj[lowercase(name)];
if (value === void 0) {
value = null;
}
return value;
}
return headersObj;
}", source: file:///android_asset/www/plugins/cordova-plugin-console/www/console-via-logger.js (173)
======編集2=======
サーバーから応答がありました。間違った URL を入力しました。しかし、今の問題は、コードイグナイター バックエンドで $_FILES の応答を解析できないことです。私はそれをvar_dumpし、ここに応答があります:
09-01 23:13:59.801 5236-5236/com.ionicframework.mase101409 I/chromium﹕ [INFO:CONSOLE(173)] "file uploaded. Response: array(0) {
}
", source: file:///android_asset/www/plugins/cordova-plugin-console/www/console-via-logger.js (173)
あなたの助けを楽しみにしています。何が欠けているのかわかりません。
ありがとう