【问题标题】:ng-file-upload not uploading in Ionicsng-file-upload 未在 Ionics 中上传
【发布时间】:2016-02-23 01:04:27
【问题描述】:

我正在为我的 Ionic 移动应用程序使用 ng-file-upload 库,我在实现这个库时遇到了挑战。我还将 Codeigniter 用于我的 REST API。我的上传请求应该有字段(一些数据)和图像。到目前为止,这是我的代码:

$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。但现在的问题是我无法在我的 codeigniter 后端解析 $_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)

期待您的帮助,我无法弄清楚我缺少什么。

谢谢

【问题讨论】:

  • 那条日志本身并没有说太多。也尝试打印data
  • 我在上面的错误函数中打印了每个响应:09-01 13:16:09.602 1541-1541/com.ionicframework.mase101409 I/chromium:[INFO:CONSOLE(173)]“错误数据: null",来源: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)]“错误配置:[object Object]”,来源:file:///android_asset/www/plugins/cordova-plugin-console/www/console-via-logger。 js (173)
  • @yvesmancera 我已经添加了一些日志文件。
  • 查看客户端的网络选项卡以确保所有文件都在请求中发送。如果是这种情况,那么这将是一个服务器端问题,因此与 ionic 或 ng-file-upload 无关。您可以找到使用简单的 html 表单提交为 php 上传多个文件的任何示例,并使您的代码像这样。
  • 我只是查看了代码,经过几个小时试图知道出了什么问题。首先我尝试使用 ionic 创建一个示例应用程序并添加在 ng-file-upload (@ 987654322@) ,我发现如果你在浏览器上运行插件就可以工作,所以在我的移动代码中我将它更改为浏览器中的运行代码,它完美地提交了文件,但是,很遗憾它只支持一个按请求上传,除非您在 html5 浏览器中,并且在移动应用程序的情况下,它不在 html5 下运行。如果我对此有误,请纠正我 :)

标签: php angularjs codeigniter ionic-framework ng-file-upload


【解决方案1】:

根据 repo 上的this issue,您不能将 ng-file-upload 与 Cordova 一起使用。相反,您必须使用cordova-plugin-file-transfer,如果您愿意,还可以使用ng-cordova adapter

【讨论】:

  • 对此答案没有投票或 cmets。 ng-file-upload 真的不能与 Ionic 一起使用,唯一的选择是 cordova-plugin-file-transfer 吗??
  • 您最终是否使用 Deurco 提到的任何一个插件解决了这个问题?
猜你喜欢
  • 2016-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-09
  • 1970-01-01
  • 1970-01-01
  • 2017-02-13
相关资源
最近更新 更多