MultiFileUpload
Komponenta napsaná pro Nette 2.0, vystavěná na plupload a jquery, za účelem snadného uploadu vícero souborů. Využívá následující (naleznete ve složce /libs):
- WebLoader (mírně upravený – hlavně CssUrlsFilter)
- HamlFilter
- Folder (můj pomocníček při rekurzivních pracích se složkami)
| Verze | 1.0 |
| Forum | zde |
| Download | mfu.tar.gz |
| Autor | Nikolas Tsiongas |
| Licence | New BSD License |
Implementace
Pro užívání je zapotřebí vytvořit dvě komponenty (hlavičku, vlastní komponentu). Hlavička vám pomocí WebLoaderu naservíruje js a css, takže ji vytvářejte v html hlavičce. Stačí zkopírovat následující kód. Podrobnosti:
- $tempUri – cesta k souborům pro prohlížeč
- $temPath – cesta k souborům pro php scripty, musí být „ekvivalentní“ s $tempUri, tzn. někde v WWW_DIR, neboť tam se kopírují nezbytné soubory (js, css, swf, xap, obrázky)
- konstanta BASE_PATH je definována v BasePresenteru
/* Returns head scripts and css */
public function createComponentMfuHead()
{
$mfu = new \MultiFileUploader\Head();
$tempUri = BASE_PATH . '/mfu';
$tempPath = WWW_DIR . '/mfu';
// API access
$mfu->tempPath = $tempPath;
// Browser access
$mfu->tempUri = $tempUri;
return $mfu;
}
/* Return the component */
public function createComponentMfu()
{
$uploader = new \MultiFileUploader\Uploader($this, 'mfu');
$tempUri = BASE_PATH . '/mfu';
$tempPath = WWW_DIR . '/mfu';
// API access to temp
$uploader->tempDir = $tempPath . '/temp';
// Browser access
$uploader->tempUri = $tempUri;
// Token for different filenames when uploading files from more than just one component
$uploader->token = $uploader->getName();
// Runtimes - possible ('gears', 'flash', 'silverlight', 'browserplus', 'html5')
$uploader->runtimes = array('flash');
// Limits
$uploader->maxFileSize = '500mb';
$uploader->maxChunkSize = '1mb';
// On success callback - returns as \Nette\Http\FileUpload
$uploader->onSuccess[] = array($this, 'tests');
return $uploader;
}
