jQueryを使用してドラッグ&ドロップでファイルをアップロードできる「Plupload」
Pluploadはオープンソースのファイルアップローダーで、jQueryを使用してファイルのアップロードやリサイズ処理を行う事が可能になっています。
アップロードには複数のプラットフォームから選択可能で、FlashやSilverlightを使用する事も可能。
作者はTinyMCEの開発者の方だそうです。これは期待できますね。
詳しくは以下
機能
各テクノロジーについて何ができるかは、表にまとめられています。HTML5はJavaScriptだけで画像のリサイズなんかもできちゃうんですね。
以下のような機能があるようです。
- 複数ファイルのアップロード
- アップロード進捗状況の表示
- 最大ファイルサイズの制限
- 画像のサイズを変更する
- ユニークなファイル名の指定
複数ファイルのアップロード処理はCMSでは必須なので、こういったライブラリがオープンソースで公開されるのは開発者には嬉しいですね。
ソースも割とシンプルにできていると思います。これだけで設置できちゃうのはすごいです。
<style type="text/css">@import url(css/plupload.queue.css);</style> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("jquery", "1.3"); </script> <!-- Thirdparty intialization scripts, needed for the Google Gears and BrowserPlus runtimes --> <script type="text/javascript" src="/plupload/js/gears_init.js"></script> <script type="text/javascript" src="http://bp.yahooapis.com/2.4.21/browserplus-min.js"></script> <!-- Load plupload and all it's runtimes and finally the jQuery queue widget --> <script type="text/javascript" src="/plupload/js/plupload.full.min.js"></script> <script type="text/javascript" src="/plupload/js/jquery.plupload.queue.min.js"></script> <script type="text/javascript"> // Convert divs to queue widgets when the DOM is ready $().ready(function() { $("#uploader").pluploadQueue({ // General settings runtimes : 'gears,flash,silverlight,browserplus,html5', url : 'upload.php', max_file_size : '10mb', chunk_size : '1mb', unique_names : true, // Resize images on clientside if we can resize : {width : 320, height : 240, quality : 90}, // Specify what files to browse for filters : [ {title : "Image files", extensions : "jpg,gif,png"}, {title : "Zip files", extensions : "zip"} ], // Flash settings flash_swf_url : 'swfファイルへのパス', // Silverlight settings silverlight_xap_url : 'xapファイルへのパス' }); // Client side form validation $('form').submit(function(e) { var uploader = $('#uploader').pluploadQueue(); // Validate number of uploaded files if (uploader.total.uploaded == 0) { alert('You must at least upload one file.'); e.preventDefault(); } }); }); </script> ...
サイトにはデモがあるので、興味のある方は使ってみてください。
最新情報をお届けします
- Website: http://www.plupload.com/
- Download: http://www.plupload.com/download.php
- License: GPLv2