如何使用ng-file-upload裁剪图像和上传?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用ng-file-upload裁剪图像和上传?相关的知识,希望对你有一定的参考价值。

这是我的观点。

<div class="btn btn-primary"
     ng-model="file" name="file"
     accept="image/*"
     ngf-select ngf-pattern="'image/*'"
     ngf-min-height="100" ngf-min-width="100"
     ngf-resize="{width: 400, height: 600}"
     ngf-max-size="20MB"
     ngf-multiple="false">Select
</div>


<input type="file" img-cropper-fileread image="cropper.sourceImage"/>
<div>
    <canvas width="500" height="300" id="canvas"
            image-cropper image="cropper.sourceImage" cropped-image="cropper.croppedImage"
            crop-width="400" crop-height="200" touch-radius="30"
            keep-aspect="true" crop-area-bounds="bounds">
    </canvas>
</div>
<div>Cropped Image (Left: {{bounds.left}} Right: {{bounds.right}} Top: {{bounds.top}} Bottom: {{bounds.bottom}})</div>
<div ng-show="cropper.croppedImage!=null"><img ng-src="{{cropper.croppedImage}}"/></div>


<button type="submit" ng-click="submit()">submit</button>

这是我的控制器。

$scope.cropper = {};
$scope.cropper.sourceImage = null;
$scope.cropper.croppedImage   = null;
$scope.bounds = {};
$scope.bounds.left = 0;
$scope.bounds.right = 0;
$scope.bounds.top = 0;
$scope.bounds.bottom = 0;

$scope.url = 'http://192.168.0.101/mysite/uploadurl';

$scope.submit = function() {
    $scope.upload($scope.file);
};

// upload on file select or drop
$scope.upload = function (file) {
    Upload.upload({
        url: $scope.url,
        data: {file: file}
    }).then(function (resp) {
        console.log('Success ' + resp.config.data.file.name + 'uploaded. Response: ' + resp.data);
    });
};

我可以上传我的ng-model =“文件”,但没有裁剪图像。

如何将裁剪后的图像插入我的数据:{file:file}。

答案

在您的函数中传递新裁剪的图像。

<button type="submit" ng-click="submit(cropper.croppedImage)">submit</button>

现在相应地更改提交功能:

$scope.submit = function(croppedImage) {
    $scope.upload(croppedImage);
};

以上是关于如何使用ng-file-upload裁剪图像和上传?的主要内容,如果未能解决你的问题,请参考以下文章

无法使用ngf-resize来使用ng-file-upload

Laravel 多次上传图像预览然后裁剪

在 iOS/swift 中上传图像时如何删除裁剪选项

使用 PHP yii 框架以带有图像预览和裁剪工具的注册表单上传图像?

如何选择图像的区域进行裁剪?

上传时如何裁剪图像?