TOP / -- TITLE --

OKLab DnDUploader
ドラッグアンドドロップ・ファイルアップローダ Java Applet

これは何?

OKLab DnDUploaderは、Windows,Linux,Solaris, Mac OSX 10.6からブラウザへ直接ファイルのアップロードが出来るサーバ用ソフトウェアです。

OKLab DnDUploaderを使うことで、ファイル選択ダイアログを表示せずに、デスクトップやエクスプローラから直接ファイルをドラックアンドロップで、ファイル転送が行えます。もちろん日本語のファイルもOKです。またカットアンドペースト機能もついているので、キーボード・ショートカットを使ったコピーアンドペーストにも対応しています。

Mac OSX 10.6でもAppleのJava 6をインストールすれば動作します。

スクリーンショット

背景色の変更、スクロールバーの非表示、ラベルの変更、サイズの変更などサイトにあわせたカスタマイズが出来ます。

ダウンロード

DnDUploader_20080221_1727.zip. コード証明を更新.README.html修正,ログ機能追加によるクラスロード失敗のバグ対応.

アーカイブ

DnDUploader_20080129_1501.zip.日本語ファイル名が正常にダウンロードできるようにサーバプログラムにブラウザ判別処理を追加.これによりFirefoxで発生していた日本語ファイル名の文字化けに対応.
DnDUploader_20080122_1933.zip.アップローダモードを追加.<input type="file" name="XXX">のname属性値を設定できるようにした。
DnDUploader_20080122_1350.zip.ドロップ領域の背景色を設定可能にした.
DnDUploader_20080120_2217.zip.デバッグモード追加.OS毎のUIを表示するようにした.
DnDUploader_20080118_2023.zip.ソース公開版.
DnDUploader_20080116_2045.zip.日本語対応.簡単インストール.
dnd.20070923.tar.gz. Linuxに対応.
dnd.alpha.tar.gz. Windowsのみ動作.

デモ

http://stoc.as.wakwak.ne.jp/upload_applet.html(stoc.asドメインのサンプルサイトが別ウィンドウまたは別タブで起動します。)

動作環境

  • Windows,Linux,Solarisで Java 1.6 が動作するブラウザ.

テスト済み環境

    Windowsテスト環境
  • WindowsXP Media CenterEdition Version 2002 SP2
  • IE 6
  • Firefox 2.0.0.6, Firefox 3.0.0.0
  • Opera 9.2.1
  • Java 1.6.0_02
    Solarisテスト環境
  • Solaris 10 x86
  • Firefox 2.0.x
  • Java 1.6.0.xx
    Linuxテスト環境
  • CentOS 5
  • Firefox 2.0.x
  • Java 1.6.0.xx
    サーバCGIプログラムテスト環境
  • Apple Mac OSX 10.3.9
  • Apache 2.0.x
  • Perl 5.8.x

今後やる事

  • movable type plugin? tdiary plugin?
  • オレオレ認証でのApplet signing方法をテストしてみる事とその手順の公開
  • アップロードとダウンロードの切り離し - 20080122対応済み.
  • OSX対応をどうするか
  • ディレクトリのアップロード対応 - 未定
  • Java アプレット側のソースコード公開に伴うビルド環境、ソースコードの修正 - 20080118対応済み
  • 日本語ファイル対応 - 20080116付けで対応済み.
  • Linuxクライアントの対応 - 20070923付けで対応済み.

インストール・ガイド

最新版には、アーカイブ内のREADME.htmlにインストール・ガイドが含まれていますのでそちらを参照してください。

FAQ

    Q. Mac OSX 10.3 - 10.5には対応しますか?
  • A. 要望があれば対応しますが、現時点では考えていません。
    Q. 何故、LinuxやSolarisに対応するのに、Mac OSX 10.3 - 10.5は対応しないのですか?
  • Mac OSXは、利用できるJavaのバージョンがOSのバージョンにより異なります。10.3はJava 1.4. 10.4はJava 5が使えます。それで10.3系まで下位互換を保証するには、ソースコードをかなり書き直さなければいけません。Java 6が動作すればこのソフトウェアを使えますが、Java 6は、Mac OSX 10.6以上出なければ使えません。
    Q. Mac OSX 10.6では動作しますか?
  • はい。Java 6 の Mac OSX10.6 がアップルよりリリースされていたので動作します。
    Q. アプレットのダウンロードはどのくらい掛かりますか?
  • OKLab DnDUploaderのサイズは16キロバイトです。なのでアプレットをダウンロードする時間は気にならないでしょう。圧縮やチューニングをすれば10Kバイトぐらいにはなると思っています。ですが現在は開発途中なので、そういうのは後回しにしています。すべて自前で実装しているので小さく出来ました。
    Q.アプレットはブラウザごと落ちませんか?
  • いままで、この問題もあったためアプレットが普及しませんでした。2008年内に一般公開される対策方法が、開発者向けに提供されているので、そのプログラムを使って回避しています。(deployJava.jsといいます) 今までJavaアプレットは、<applet>タグをhtmlに直接記述するため、Javaのバージョンがない場合や、アプレットのURL指定が間違えていた場合、ブラウザはそれを判定せずに起動させようとするため、ブラウザ事フリーズしていました。
    Q.アプレットの起動は重くありませんか?
  • 私のアプリケーション自体は軽量ですが、アプレットが動くにはJava VMというソフトウェアが起動するので、その時間がボトルネックになっています。正直 Flashなどのように数秒待たされると思います。
  • 2008年内のJava アップデートにおいて、アプレットの高速起動が可能になります。常駐メカニズムが実装されます。開発者向けのJava 6 Update 5では500ミリ秒(1/2秒)以内での起動を確認しました。体感的には普通のHTMLを表示するのとなんら変わりなくアプレットが起動します。
    Q.Javascript,Ajaxでネイティブ環境からブラウザへのドラッグアンドドロップは可能ですか?
  • 詳細を調査していないので分かりませんが、通常のAPIをつかって実装するのは出来ないようです。ただActiveXを使ってデスクトップなどネイティブ環境からのドラッグアンドドロップが可能のようです。ですがインターネットエクスプローラやWindows限定になってしまいます。
    Q.Flashでデスクトップなどのネイティブ環境からブラウザへのドラッグアンドドロップは可能ですか?
  • これも通常のAPIをつかって実装するのは出来なさそうです。Adobe Airではできるようです。
    Q.通常モードとアップロードモードの違いは何ですか?
  • 通常モードは、このJavaアプレットで、ファイルのアップロードとダウンロードが出来るようになっています。そのためサーバプログラムにアップロード用とダウンロード用のプログラムが必要になります。アップロードモードは、名前の通りアップロードのみに対応したモードです。このモードの場合は、アップロード用サーバプログラムだけが必要になります。アップロード、ダウンロード共にサンプルプログラムがあるので、よく分からない場合はこれをカスタマイズして使ってみてください。
    Q.自分のサイトに合わせてカスタマイズできますか?
  • カスタマイズできます。背景色、プログレスバー(進捗バー)の表示非表示、ドラッグ領域のサイズ変更、表示する日本語の変更、などが可能です。
    Q.ライセンスはどうなっていますか?
  • 現在特にライセンスの指定はしていません。当然、無償・無保証でソフトウェアが使え、ソースコードの改変を行っていただいてかまいません。
    Q.将来オープンソース系のライセンスになりますか?またGPLになりますか?
  • 検討中です。オープンソースライセンスは、ソフトウェア開発者が免責や法律を調査するコストを減らしてくれるため一定のメリットがあると思います。ですが、ライセンスが乱立しているため、開発者、ユーザ共にどのライセンスであるか、調べるコストが発生しています。訴訟等の問題が発生しない限り、無償・無保証ですが好きに使っていただけるように、現在はライセンスの付加を考えていません。またこのようなスタンスなのでライセンスを付加する場合は、GPLではなくBSD系になると思います。
    Q.コード・サイニング(アプレット証明)とは何ですか?
  • 通常、Javaアプレットではユーザのローカルにあるファイルの読み込みや書き込みはできません。これはセキュリティの問題につながるからです。ですが、第三者機関により証明書を発行してもらうこと(これをコード・サイニングと呼ぶ)でこの制約がなくなります。
    Q.ソースコードをコンパイルしてそのまま使えますか?
  • いいえ、使えません。自分自身で認証を行うか、上記のようにコード・サイニングをする必要があります。近いうちに自分認証と無料の第三者機関認証を掲載する予定です。

更新履歴

  • 2008.07.13 Mac OSX Java6に関してすこし修正.
  • 2008.02.21 0221付けリリース. FAQ修正. インストールガイド修正.
  • 2008.01.29 0129付けリリース. Firefoxの日本語ファイル名対応.
  • 2008.01.22 FAQに追加.
  • 2008.01.22 DnDUploader_20080122_1933.zipリリース.アップローダモードを追加.<input type="file" name="XXX">のname属性値を設定できるようにした。
  • 2008.01.22 0122付けのリリースを行った.背景色の設定が可能になった.
  • 2008.01.20 0120付けのリリースを行った.デバッグモード追加,UI変更.
  • 2008.01.18 0118付けのリリースを行った.ソースコード公開
  • 2008.01.16 0116付けのリリースを行ったので追記.
  • 2008.01.15 インストールガイドにtargetServerURLの記述を追加.
  • 2007.10.14 修正.
  • 2007.09.23 Linux対応.


イバラキングへのリンク Get Firefox Valid XHTML 1.1 Apple Darwinへのリンク