javascript - Filepond gridlayout与图像调整大小冲突
问题描述
现在我正在使用文件池,我想缩放照片以填充目标尺寸,除非它们都是各种尺寸,这就是我添加图像调整大小功能的原因。它的图像调整大小功能有效。但是,当我使用网格布局并排显示图片时,图像调整大小功能不起作用。
.filepond--root {
max-width:30em;
}
.filepond--item {
width: calc(50% - 0.5em);
}
body {
padding: 2em;
}
img {
margin: 1em 2em 0 0;
border-radius: .25em;
box-shadow: 0 .125em .5em rgba(0,0,0,0.25);
}
<link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet">
<link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet">
<input type="file"
class="filepond"
accept="image/*"
name="filepond"
multiple
data-max-file-size="3MB"
data-max-files="6"/>
<script src="https://unpkg.com/filepond-plugin-image-resize/dist/filepond-plugin-image-resize.js"></script>
<script src="https://unpkg.com/filepond-plugin-file-validate-type/dist/filepond-plugin-file-validate-type.js"></script>
<script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script>
<script src="https://unpkg.com/filepond/dist/filepond.js"></script>
<script>
FilePond.registerPlugin(
FilePondPluginImageResize,
FilePondPluginFileValidateType,
FilePondPluginImagePreview
);
const inputElement = document.querySelector('input[type="file"]');
const pond = FilePond.create(inputElement, {
imageCropAspectRatio: 1,
imageResizeTargetWidth: 256,
imageResizeMode: 'contain'
});
</script>
解决方案
.filepond--root {
max-width:20em;
}
.filepond--item {
width: calc(50% - 0.5em);
}
body {
padding: 2em;
}
img {
margin: 1em 2em 0 0;
border-radius: .25em;
box-shadow: 0 .125em .5em rgba(0,0,0,.25);
}
<link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet">
<link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet">
<input type="file"
accept="image/*"
class="filepond"
name="filepond"
multiple
data-max-file-size="2MB"
data-max-files="6"/>
<script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script>
<script src="https://unpkg.com/filepond-plugin-image-resize/dist/filepond-plugin-image-resize.js"></script>
<script src="https://unpkg.com/filepond-plugin-image-crop/dist/filepond-plugin-image-crop.js"></script>
<script src="https://unpkg.com/filepond-plugin-file-validate-type/dist/filepond-plugin-file-validate-type.js"></script>
<script src="https://unpkg.com/filepond/dist/filepond.js"></script>
<script>
FilePond.registerPlugin(
FilePondPluginImageCrop,
FilePondPluginImagePreview,
FilePondPluginImageResize,
FilePondPluginFileValidateType
);
const inputElement = document.querySelector('input[type="file"]');
const pond = FilePond.create(inputElement, {
imageCropAspectRatio: 1,
imageResizeTargetWidth: 256,
imageResizeMode: 'contain',
onaddfile: (err, fileItem) => {
console.log(err, fileItem.getMetadata('resize'));
},
onpreparefile: (fileItem, outputFiles) => {
outputFiles.forEach(output => {
const img = new Image();
img.src = URL.createObjectURL(output.file);
document.body.appendChild(img);
})
}
});
</script>
推荐阅读
- excel - Excel - 插入评论问题:灰色/不可用
- google-cloud-platform - 在 Airflow 中,我如何创建具有多个 DAG 的工作流,这些 DAG 可以通过执行该工作流来调用?
- java - 为什么 SELECT 等待锁定?
- vb.net - 自动初始化控件
- vue.js - Vue/AgGrid:浮动过滤器组件,对象单元格数据数组
- javascript - 安装 react-router-dom 时遇到错误
- apache - 一个组件的 Apache Nifi 历史统计
- python - 如何在数组中找到两个相似数字的索引?
- mvvm - 如何将弹出页面按钮绑定到 xamarin 表单中的 viewmodel 命令属性
- hibernate - 如何使用 Envers 审计查询获取多对多连接表的审计修订