# j-ImageUploader

> Un simple composant singleton pour le téléchargement d'images redimensionnées. Le composant télécharge en base64 selon le schéma défini dans les options de l'appelant.

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: fr
Content-SHA256: 5ef5f09ee84933038f0ecac7befad3c9b84962c3294bc392bd5b32d85e449689
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: not-recorded

Un simple composant pour la téléchargement d'images récupérés.Le composant charge base64 selon le `schema` défini dans le `options` de l'appelant.


__Méthodes__ :

- `imageuploader/upload(opt)` affiche une boîte de dialogue de fichier
	- `opt.width {Number}`
	- `opt.height {Number}`
	- `opt.background {String}` est une couleur de fond par défaut (__NEW__: prend en charge la valeur de `transparent` et la sortie sera `.png`)
	- `opt.url {String}` __important__ URL où l'image sera téléchargée
	- `opt.multiple {Boolean}` prend en charge plusieurs fichiers (par défaut : `false`)
	- `opt.schema {String}` défaut `{ file: base64, name: filename }`
	- `opt.quality {Number}` défaut `90`
	- `opt.callback(response, errors)` un rappel __important__
	- `opt.keeporiginal {Boolean}` maintient l'image originale si la dimension est la même que la largeur/altitude définie dans la configuration (defaut: `false`)
	- __NEW__ `opt.files` {FileList} optionnel (si vous utilisez par exemple Drag & Drop)

__Composants conviviaux__ :
Ce composant fonctionne avec `loading` lors du téléchargement du fichier.

Utilisez-le avec `<ui-component name="imageuploader">`. Lorsque le composant n'est pas encore chargé, jComponent le télécharge lors de la première utilisation depuis l'adresse dans `DEF.fallback` (le CDN Componentator par défaut). Auteur : Peter Širka. Source : le référentiel de composants Componentator, licence MIT.

```html example.html
<ui-component name="imageuploader"></ui-component>
<div onclick="uploadphoto()">Click to upload</div>

<script>

	function uploadphoto() {
		var opt = {};
		opt.width = 200;
		opt.height = 200;
		opt.url = '/api/upload/base64/';
		opt.background = '#FFFFFF';
		opt.multiple = true;
		opt.callback = function(response, err) {
			console.log(response, err);
		};
		SETTER('imageuploader/upload', opt);
	}

</script>
```
