0

我正在使用带有 VueJS 的 filepond 来上传图像。如果需要,我应该在上传时裁剪图像。

我在全球范围内注册了 filepond 插件。

import Vue from 'vue';
import vueFilePond from 'vue-filepond';
import FilePondPluginFileValidateType from 'filepond-plugin-file-validate-type';
import FilePondPluginImagePreview from 'filepond-plugin-image-preview';
import FilePondPluginImageCrop from 'filepond-plugin-image-crop';

import 'filepond/dist/filepond.min.css';
import 'filepond-plugin-image-preview/dist/filepond-plugin-image-preview.min.css';

const FilePond = vueFilePond(FilePondPluginFileValidateType, FilePondPluginImagePreview, FilePondPluginImageCrop);
Vue.component('filePond', FilePond);

然后我正在使用组件

<file-pond
  name="image"
  ref="pond"
  :label-idle="$t('complaint_detail.label-idle')"
  :allow-multiple="false"
  accepted-file-types="image/*"
  :server="{ process }"
  :allow-image-preview="true"
  :allow-image-crop= "true"
  :allow-revert = "false"
  v-on:init="handleFilePondInit"
  v-on:addfile="handleFilePondAddFile"
/>

这是我的process方法

process(fieldName, file, metadata, load) {
  load(file);
},
handleFilePondInit() {
  this.$refs.pond.getFiles();
},

但是使用此代码图像裁剪不起作用。在文档中只有allowImageCrop,但它对我不起作用。这是文档的链接: https ://pqina.nl/filepond/docs/patterns/plugins/image-crop/

4

1 回答 1

0

您需要使用该imageCropAspectRatio属性定义裁剪比例。

对于方形作物:

<file-pond
  image-crop-aspect-ratio="1"
  name="image"
  ref="pond"
/>
于 2019-02-18T09:06:35.593 回答