Ionic:使用ng-cordova fileTransfer和Camera插件上传图像时出现错误代码3

金·卡洛

尝试使用FileTransfer插件将离子应用程序中的图像文件上传到远程服务器时,出现“代码3”(连接被拒绝)错误。

我使用了相机插件,并将捕获的图像移至永久存储

$scope.selectPicture = function(sourceType) {
    var options = {
        quality: 75,
        destinationType: Camera.DestinationType.FILE_URI,
        sourceType: Camera.PictureSourceType.CAMERA,
        allowEdit: true,
        encodingType: Camera.EncodingType.JPEG,
        popoverOptions: CameraPopoverOptions,
        saveToPhotoAlbum: false,
        correctOrientation:true
    };

    $cordovaCamera.getPicture(options).then(function(imagePath) {
        var currentName = imagePath.replace(/^.*[\\\/]/, '');
        //Create a new name for the photo
        var d = new Date(),
        n = d.getTime(),
        newFileName =  n + ".jpg";

        localStorage.setItem('checklist',newFileName);
        var namePath = imagePath.substr(0, imagePath.lastIndexOf('/') + 1);
          // Move the file to permanent storage
          $cordovaFile.moveFile(namePath, currentName, cordova.file.dataDirectory, newFileName).then(function(success){
            $scope.image = newFileName;
            localStorage.setItem('checklist',newFileName);
          }, function(error){
            $scope.showAlert('Error', error.exception);

          });
    }, function(err) {
      // error
    });
};

然后我使用FileTransfer插件上传图片

$scope.reportSending = function(){
    $scope.report_no = localStorage.getItem('reportNumber');
    $scope.imageLoc = localStorage.getItem('checklist');

    var server = "http://localhost/api/api/public/api/sendreport",

    filePath = cordova.file.dataDirectory + $scope.imageLoc;

    var date = new Date();

    var options = {
        fileKey: "file",
        fileName: $scope.imageLoc,
        chunkedMode: false,
        mimeType: "multipart/form-data",
        params : {
            report_no : $scope.report_no
        }
    };

    $cordovaFileTransfer.upload(server, filePath, options).then(function(result) {
        console.log(JSON.stringify(result.response));

    }, function(err) {
        console.log("ERROR: " + JSON.stringify(err));
        //alert(JSON.stringify(err));
    }, function (progress) {
        // constant progress updates
    });

};

当我执行该reportSending()函数时,它返回一个错误,它说:

ERROR: {"code":3,"source":"file:///data/user/0/com.ionicframework.appnew343084/files/1483519701226.jpg","target":"http://localhost/api/api/public/api/sendreport","http_status":null,"body":null,"exception":"Connection refused"}

它在异常中显示“连接被拒绝”,但是当我在邮递员中尝试API时,我可以成功上传文件。

金·卡洛

因此,在搜索了大量论坛之后,我发现我的问题非常简单。

更改API网址可解决此问题。

var server = "http://localhost/api/api/public/api/sendreport",

var server = "http://192.168.1.17/api/api/public/api/sendreport";

我没有使用localhost,而是将URL指向本地服务器的IP,并且我还注意到,,在API的变量声明的末尾,我使用逗号而不是分号。

现在一切正常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ng-cordova filetransfer插件中的文件上传错误代码1

来自分类Dev

在iOS的ionic中使用$ cordovaClipboard ng-cordova插件

来自分类Dev

无法使用FileTransfer在Cordova和Ionic中下载文件

来自分类Dev

在Cordova / ionic框架中使用插件

来自分类Dev

离子,如何使用cordova插件,而不是ng-cordova / Typescript

来自分类Dev

Ionic Cordova 平台错误

来自分类Dev

使用 Cordova FileTransfer 到 NodeJS 的文件上传错误

来自分类Dev

在SSL环境中使用Cordova Filetransfer上传文件时出错

来自分类Dev

无法使用Cordova FileTransfer上传文件

来自分类Dev

ionic/cordova camera for a newbie with angularJS

来自分类Dev

无法从Ionic删除Cordova插件

来自分类Dev

尽管Cordova是最新的,但使用ionic来创建新应用时出现Cordova版本错误

来自分类Dev

无法使用Cordova插件

来自分类Dev

无法使用Cordova插件

来自分类Dev

错误代码3尝试在Android平台上使用Cordova进行地理位置定位时超时

来自分类Dev

安装Cordova CLI和Ionic

来自分类Dev

无法更新Cordova和Ionic

来自分类Dev

ionic和Cordova插件安装之间的区别

来自分类Dev

Cordova文件传输插件下载始终会产生http状态401和错误代码3

来自分类Dev

使用Typescript的Ionic 1应用程序中的Cordova插件

来自分类Dev

如何使用Cordova插件获取Ionic中的设备ID?

来自分类Dev

如何使用Cordova插件获取Ionic中的设备ID?

来自分类Dev

如何在Ionic 2 / TypeScript中使用(Cordova)插件?

来自分类Dev

Angular2 Ionic2使用Cordova创建插件

来自分类Dev

在控制器内的 Ionic 中使用 Cordova 插件

来自分类Dev

使用Cordova和Ionic处理文件-兼容iOS,Android

来自分类Dev

$ scope。$ watch使用Angular和Ionic / Cordova的div标签

来自分类Dev

无法在Android上使用Cordova和Ionic加载模块

来自分类Dev

使用Cordova和Ionic处理文件-兼容iOS,Android

Related 相关文章

  1. 1

    ng-cordova filetransfer插件中的文件上传错误代码1

  2. 2

    在iOS的ionic中使用$ cordovaClipboard ng-cordova插件

  3. 3

    无法使用FileTransfer在Cordova和Ionic中下载文件

  4. 4

    在Cordova / ionic框架中使用插件

  5. 5

    离子,如何使用cordova插件,而不是ng-cordova / Typescript

  6. 6

    Ionic Cordova 平台错误

  7. 7

    使用 Cordova FileTransfer 到 NodeJS 的文件上传错误

  8. 8

    在SSL环境中使用Cordova Filetransfer上传文件时出错

  9. 9

    无法使用Cordova FileTransfer上传文件

  10. 10

    ionic/cordova camera for a newbie with angularJS

  11. 11

    无法从Ionic删除Cordova插件

  12. 12

    尽管Cordova是最新的,但使用ionic来创建新应用时出现Cordova版本错误

  13. 13

    无法使用Cordova插件

  14. 14

    无法使用Cordova插件

  15. 15

    错误代码3尝试在Android平台上使用Cordova进行地理位置定位时超时

  16. 16

    安装Cordova CLI和Ionic

  17. 17

    无法更新Cordova和Ionic

  18. 18

    ionic和Cordova插件安装之间的区别

  19. 19

    Cordova文件传输插件下载始终会产生http状态401和错误代码3

  20. 20

    使用Typescript的Ionic 1应用程序中的Cordova插件

  21. 21

    如何使用Cordova插件获取Ionic中的设备ID?

  22. 22

    如何使用Cordova插件获取Ionic中的设备ID?

  23. 23

    如何在Ionic 2 / TypeScript中使用(Cordova)插件?

  24. 24

    Angular2 Ionic2使用Cordova创建插件

  25. 25

    在控制器内的 Ionic 中使用 Cordova 插件

  26. 26

    使用Cordova和Ionic处理文件-兼容iOS,Android

  27. 27

    $ scope。$ watch使用Angular和Ionic / Cordova的div标签

  28. 28

    无法在Android上使用Cordova和Ionic加载模块

  29. 29

    使用Cordova和Ionic处理文件-兼容iOS,Android

热门标签

归档