Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在服务器上进行图像捕获和上载,并从服务器获取不在angular js和ionic模式下工作的图像_Javascript_Angularjs_Ionic Framework_Ngcordova - Fatal编程技术网

Javascript 在服务器上进行图像捕获和上载,并从服务器获取不在angular js和ionic模式下工作的图像

Javascript 在服务器上进行图像捕获和上载,并从服务器获取不在angular js和ionic模式下工作的图像,javascript,angularjs,ionic-framework,ngcordova,Javascript,Angularjs,Ionic Framework,Ngcordova,我想捕获图像,捕获后应将其上载到服务器,并希望从服务器获取图像,并希望将其显示在一个位置,即$scope.pictureUrl=”http://placehold.it/100x100“。类似地,我想从图库中选择图像并希望上载到服务器,但我的代码不起作用。 下面是我的代码。我已经在stackoverflow上提出了许多关于这方面的问题,但都是徒劳的。它会发出成功警报,但当我看到我的服务器时,它不会显示任何上传的图像。请建议我更改 $scope.pictureUrl = "http://pla

我想捕获图像,捕获后应将其上载到服务器,并希望从服务器获取图像,并希望将其显示在一个位置,即
$scope.pictureUrl=”http://placehold.it/100x100“
。类似地,我想从图库中选择图像并希望上载到服务器,但我的代码不起作用。
下面是我的代码。我已经在stackoverflow上提出了许多关于这方面的问题,但都是徒劳的。它会发出成功警报,但当我看到我的服务器时,它不会显示任何上传的图像。请建议我更改

  $scope.pictureUrl = "http://placehold.it/100x100";
    $scope.pictureUrl2="http://placehold.it/100x100";

  $scope.takePicture = function () {
      var options = {
          destinationType: Camera.DestinationType.DATA_URL,
          sourceType: Camera.PictureSourceType.CAMERA,
          encodingType: Camera.EncodingType.JPEG
      };
      $cordovaCamera.getPicture(options).then(function (imageData) {
          //console.log('camera data: ' + angular.toJSON(imageData));
          $scope.imgdata = imageData;
          $scope.pictureUrl = 'data:image/jpeg;base64,' + imageData;
         // var image = document.getElementById('myImage');
          var url = '';
          var fd = new FormData();

          //previously I had this
          //angular.forEach($scope.files, function(file){
          //fd.append('image',file)
          //});

          fd.append('image', $scope.imgdata);

          $http.post(url, fd, {

                  transformRequest: angular.identity,
                  headers: {
                      'Content-Type': undefined
                  }
              })
              .success(function (data, status, headers) {
                  $scope.pictureUrl2 = data.resource_uri; //set it to the response we get
                alert("Success");
              })
              .error(function (data, status, headers) {

              })

      });
  }

  $scope.takePhoto = function () {
    var options = {
      destinationType: Camera.DestinationType.DATA_URL,
      sourceType: Camera.PictureSourceType.SAVEDPHOTOALBUM,
      encodingType: Camera.EncodingType.JPEG
    };
    $cordovaCamera.getPicture(options).then(function (imageData) {
      $scope.imgdata=imageData;
      $scope.pictureUrl = 'data:image/jpeg;base64,' + imageData;
        //$scope.blobImg = dataURItoBlob($scope.pictureUrl);
      window.alert("Picture Captured .. !!");
    }, function (err) {
      window.alert('Error:' + err.message);
    });
  };  

插件安装正确。摄像头和多媒体资料正在启动,但无法上载:(

实际上,您正在使用目标类型作为

destinationType:Camera.destinationType.DATA\u URL,

因此,在图像数据中,只包含base64值,所以您可以将该值指定给对象,并可用于post方法

当您试图从服务器获取base64的数据时

'data:image/jpeg;base64,+imageData;
注意这里imageData是包含base64字符串的变量)


通过这种方式,我们可以显示来自服务器的图像

“图像捕获和上载到服务器上,并从服务器获取不在angular js和ionic模式下工作的图像”-这其中的哪一部分不起作用?你能将其分解并尝试一次只做一件事吗?好的,如果我想分解..那么上传部分在从相机捕获图像后不起作用。它显示成功,但实际上没有上传server@SiddheshKalgaonkar你是用base64格式发送图像吗?我不是用base64格式发送图像base64格式我想要的是,在捕获两个图像之后,它应该被发送到服务器,在获取图像之后,一个图像应该被放置在
$scope.pictureurl
中,另一个应该被放置在
$scope.pictureurl2