Javascript 使用ng文件上载上载原始图像和调整大小的图像

Javascript 使用ng文件上载上载原始图像和调整大小的图像,javascript,php,angularjs,ng-file-upload,Javascript,Php,Angularjs,Ng File Upload,我正在尝试让我的应用程序在服务器上同时保存大小调整后的图像和原始文件 这就是我迄今为止所尝试的: HTML: JS: 还有我的PHP: <?php $filename = $_FILES['file']['name']; $destination = '/home/clients/cc5399b00bc00f15dc81742a0369c7b8/discovery/register/uploadstest/' . $filename; move_uploaded_f

我正在尝试让我的应用程序在服务器上同时保存大小调整后的图像和原始文件

这就是我迄今为止所尝试的:

HTML:

JS:

还有我的PHP:

<?php
    $filename = $_FILES['file']['name'];
    $destination = '/home/clients/cc5399b00bc00f15dc81742a0369c7b8/discovery/register/uploadstest/' . $filename;
    move_uploaded_file( $_FILES['file']['tmp_name'] , $destination );

    $filenameor = "ORIGINAL".$_FILES['fileor']['name'];
    $destinationor = '/home/clients/cc5399b00bc00f15dc81742a0369c7b8/discovery/register/uploadstest/' . $filenameor;
    move_uploaded_file( $_FILES['fileor']['tmp_name'] , $destinationor ); 
?>
到目前为止,只上传了调整大小的模型,原始模型似乎没有从模型传递到函数,因为模型在控制台中返回时未定义

我缺少什么?

您可以使用图书馆的Upload.resize服务。不要在HTML中使用ngf resize和GF resize if,而是在JS中调整文件大小。比如:

HTML:

JS

这里有一些类似的东西:

$scope.uploadphototest = function (file) {
  $scope.fileext = file.name.substring(file.name.lastIndexOf('.'), file.name.length);
  $scope.uniqueportrait = $scope.fairnameonly + "-" + moment().format('DD-MM-YYYY-HH-mm-ss') + $scope.fileext;

  Upload.imageDimensions(file).then(function(dimensions){
    if (dimensions.width < 1170){
      $scope.sizeerror = true;

    }else{

      fileor = $scope.originalPic;

      Upload.upload({
        url: 'uploadtest.php',
        data: {
          file: file,
          name: Upload.rename(file, $scope.uniqueportrait),
          fileor: fileor,
        }
      }).then(function (resp) {
         ...
      });
    };
  });
};
<?php
    $filename = $_FILES['file']['name'];
    $destination = '/home/clients/cc5399b00bc00f15dc81742a0369c7b8/discovery/register/uploadstest/' . $filename;
    move_uploaded_file( $_FILES['file']['tmp_name'] , $destination );

    $filenameor = "ORIGINAL".$_FILES['fileor']['name'];
    $destinationor = '/home/clients/cc5399b00bc00f15dc81742a0369c7b8/discovery/register/uploadstest/' . $filenameor;
    move_uploaded_file( $_FILES['fileor']['tmp_name'] , $destinationor ); 
?>
<a ng-model="originalPic" 
   ngf-select="uploadphototest($file)" 
   ngf-model-options="{updateOn: 'change drop paste'}" 
   ngf-fix-orientation="true">
      Upload image
</a>
$scope.uploadphototest = function (file) {
  $scope.fileext = file.name.substring(file.name.lastIndexOf('.'), file.name.length);
  $scope.uniqueportrait = $scope.fairnameonly + "-" + moment().format('DD-MM-YYYY-HH-mm-ss') + $scope.fileext;

  Upload.imageDimensions(file).then(function(dimensions){
    if (dimensions.width < 1170){
        $scope.sizeerror = true;
    } else if(dimensions.width > 1000){
        var resizeOptions = {
            width: 1170
        };

        Upload.resize(file, resizeOptions).then(function(resizedFile) {
            uploadFile(file, resizedFile);
        });
    } else {
        uploadFile(file, file);
    }
  });
};

function uploadFile(originalFile, resizedFile) {
    Upload.upload({
        url: 'uploadtest.php',
        data: {
            file: resizedFile,
            fileor: Upload.rename(file, $scope.uniqueportrait), //This returns a file
        }
    }).then(function (resp) {
        ...
    });
}