Comments (3)
Hi, Rik
I tried that before, without success ... but i've managed to make it work with vue-filepond by passing the filter function like Prop 👍
for future reference to other Vue-grammers i will show pseudo code of the whole setup
<template>
<file-pond
:imageEditEditor="doka"
:server="filepondServerOptions"
:imageTransformImageFilter="filterTransform"
.............
/>
</template>
<script lang="ts">
import { Component, Vue, Prop } from "vue-property-decorator";
// Import Doka
import { create as CreateDoka } from "@root/ClientApp/libraries/doka/lib/doka.esm.min";
import "@root/ClientApp/libraries/doka/lib/doka.min.css";
// Filepond
import vueFilePond from "vue-filepond";
import "filepond/dist/filepond.min.css";
import { FilePond } from "filepond";
import FilePondPluginImageTransform from "filepond-plugin-image-transform";
// ... import other plugins ....
// instance of filepond that we will use
const filepondInst: any = vueFilePond(
FilePondPluginImageTransform,
// other plugins goes here
);
@Component({
components: {
"file-pond": filepondInst
}
})
export default class FileUpload extends Vue {
doka: any = null;
filepondServerOptions: any = {
url: <some url here>
process: {
ondata: this.uploadEnhance
}
};
dokaOptions: any = {
// lot of doka options
};
created(): void {
this.doka = CreateDoka();
this.doka.setOptions(this.dokaOptions);
}
filterTransform(file): Promise<boolean> {
// no gif mimetype, do transform
if (!/image\/gif/.test(file.type)) {
return Promise.resolve(true);
}
let p = new Promise<boolean>(resolve => {
const reader = new FileReader();
reader.onload = e => {
let res = this.isGif(reader.result as ArrayBuffer);
resolve(res);
};
reader.readAsArrayBuffer(file);
});
return p;
}
isGif(data: ArrayBuffer): boolean {
// some magic here
}
}
</script>
Thanks for help
from filepond-plugin-image-transform.
Hi, you can use the filter method like this, you need to either ignore all GIFs, so check extension, or you need to inspect the actual file data to determine if it's an animated GIF.
imageTransformImageFilter: file =>
new Promise((resolve, reject) => {
console.log(file); // file object
resolve(true) // true if should transform, false if should leave alone
})
from filepond-plugin-image-transform.
Thanks for posting the Vue snippet 🙏
from filepond-plugin-image-transform.
Related Issues (20)
- TypeError: Cannot read property 'data' of undefined - when outputting Base64 string HOT 2
- Uncaught error for TIFF image files HOT 4
- can't find docs for adding text to the bottom of an image with a metadata object HOT 4
- Filename is lost after transform HOT 6
- imageTransformVariants resize issue: Uncaught (in promise) TypeError: Cannot set property 'size' of undefined HOT 10
- Image Thumbnail Creation with Resize HOT 2
- Question variants name APPENDED HOT 1
- TypeScript support? HOT 2
- imageTransform is re-compressing (even when no changes) unless imageTransformOutputMimeType is set
- Documentation 404 HOT 2
- [Feature request] Add method on file to retrieve the blob of the transformed image HOT 6
- Duplicate Identifier 'FilePondFile' HOT 2
- Backend can get only last image object HOT 3
- Can we add webp? HOT 6
- No Releases yet. HOT 1
- Error when uploading file with specific bitmap
- Offline SVG markup causes Filepond to stop handling files HOT 1
- Crop and resize to exact ratio HOT 3
- Filesizes increases while image is (visually) not being transformed. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from filepond-plugin-image-transform.