Perl -> サンプル

ファイルアップロード2

構成

アップロードフォーム

<div id=uploadform>
  <form method='POST' action='upload.cgi' name='zipupload' enctype='multipart/form-data'>
   <input type='file' name='uploadfile' size='75' />
  </form>
  <button onClick="UploadExec()">アップロード実行</button>
</div>

JavaScript


アップロード実行をクリック後、
Submit実行を遅らせて実行させないとフォームをすぐに消せない。
この場合、アップロード実行ボタン無効にして、
100ミリ秒(0.1秒)遅らせて、Submit実行関数を呼び出す

function UploadExec(){
  $('uploadform').innerHTML = "<button disabled=\"true\" OnClick=\"\">アップロード実行</button>";
  setTimeout('UploadSubmit()',100);
}

実際にSubmitを実行する関数。Form アクション upload.cgiが実行される
function UploadSubmit(){
  document.zipupload.submit();
}

upload.cgi

受け取る側のPerlモジュール
#!/usr/bin/perl

use CGI;

my $file;                             perl で使用できるアップロードファイル変数
my $oCGI = new CGI
my $fh = $oCGI->upload('uploadfile'); <input  name='uploadfile' > で指定した名前を指定する
copy ($fh,$file);
close($fh);

実行イメージ

アップロード実行ボタンを押した直後にボタンが無効になるので、2度押しを防止できる。
フォームも読取専用に変更している。
submit を遅らせないと、ボタン押下直後にこの状態にならない。
※サンプルなので何も動きません

フォーム送信前


フォーム送信後



先頭へ

      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google