2017-08-21 8 views
0

私は自分のアプリケーションをサーバーに保存するようにしようとしています。ng-file-uploadで元の画像とサイズ変更された画像の両方をアップロードする

これは私がこれまで試したものです:

HTML:

<a ng-model="originalPic" 
    ngf-select="uploadphototest($file)" 
    ngf-resize="{width: 1170, type: 'image/jpeg'}" 
    ngf-resize-if="$width > 1000" 
    ngf-model-options="{updateOn: 'change drop paste'}" 
    ngf-fix-orientation="true"> 
     Upload image 
</a> 

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:

<?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); 
?> 

これまでのところですサイズ変更されたoをアップロードするだけですモデルが機能しなくなったようです。

私は何が欠けていますか?

答えて

0

ライブラリのサービスを使用できます。 HTMLにngf-resizegf-resize-ifを使用せず、JS内のファイルのサイズを変更してください。以下のような何か:

HTML:

<a ng-model="originalPic" 
    ngf-select="uploadphototest($file)" 
    ngf-model-options="{updateOn: 'change drop paste'}" 
    ngf-fix-orientation="true"> 
     Upload image 
</a> 

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 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) { 
     ... 
    }); 
} 

JSFiddle

関連する問題