top


総投稿数 本 
no_

スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
no_674

禁煙カウンタ:◇ついにβ。まずはこのブログに貼ってテスト続けることに・・・ 【ブログパーツ】

 2009-02-02
 すみません。
 致命的不具合、ありまして
 (頁を開いただけで、
  勝手に始まってしまう)
 はずしました。

 遭遇された方には、深く
 お詫びいたします。
 まだまだ、別ウインドウでテストいたします。

 お待たせしました。
 (いやぁ、お待ちの方もいない、とは思いますが・・・)


 「やったるで!禁煙 カウンタ

 さきほど微調整終え、「β版」として
 このブログにまずは貼って、しばらくテストすることに
 いたしました。
 (※何か、お気づきありましたら
   ぜひともお教えくださいませ)

   ・禁煙カウンタ日記の(前回報告はこちら


 ■今回の記録
 /*------------------------------------------*/
  今回は
  ・Flex側ではなく

   ◆記念撮影 を行った際に
    呼び出す、CGI側の調整に終始

  □画像キャプチャして、「ただ」表示するだけ・・・
   というのも、あまりに不親切。
    > 「ダウンロード取得」用ボタンを用意。
      (もちろん、「閉じる」ボタンも)

  □生成する際、固定のファイル名だったが
   それでは複数の方に利用していただくことはできない。
    > ランダム値と時間変数組み合わせ名称生成
      (一定時間で自動消去するところは、これから)

  ・・・です。

  あぁ、Perl。(もの凄い)久しぶり・・・
  古い知識を呼び戻し、情報も再収集して完成。

  Flex3 から呼び出す
  ■画像生成>保存 用の CGI
$i = int(rand(9));

$nowget_time = time;
my $file = "../*****/";
$file .= "nscap_";
$file .= $nowget_time.$i.".png";

binmode(STDIN);
read(STDIN, $image, $ENV{'CONTENT_LENGTH'} );
open(I, ">$file");
binmode(I);
print I $image;
close(I);

print "Content-type: text/html\n\n
<html><head>\n
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=EUC-JP\">\n
<title>やったるで!禁煙カウンタ:記念撮影</title>\n
<STYLE TYPE=\"TEXT/CSS\">\n
body { font-size: 10pt; line-height: 130%;}\n
</STYLE>\n
</head>\n
<body><form action=\"./*****.cgi\" method=\"post\">\n";
print "記念撮影終了!<BR>";
print "<b>[ ファイル取得 ]</b> ボタンでダウンロードできます。<BR>";
print "<img src='$file'><BR>";
print "<input type='hidden' name=\"downfile\" value=\"".$file."\"><BR>";
print "<input type='button' value=\"閉じる\" onClick=\"Javascript:window.close();\">";
print "<input type='submit' value=\" ファイル取得 \"><BR>";
print "</body></html>";

exit;

  ほんとはもっと親切にエスコート
 すべきだろうけど・・・


  上記から呼び出される
  ■画像ダウンロード 用の CGI
read(STDIN, $string, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/,$string);
foreach $pair (@pairs){
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$KEY{$name} = $value;
}

my $filepath = $KEY{downfile};
my $file = substr($filepath, (rindex($filepath, "/") + 1) );

#my $file = basename($filepath);
my $filesize = -s $filepath;

open(F,$filepath) || die "Can't open $filepath";
print "Content-type: application/octet-stream; name=\"$file\"\n";
print "Content-Length: $filesize\n";
print "Expires: 0\n";
print "Cache-Control: must-revalidate, post-check=0,pre-check=0\n";
print "Pragma: private\n";
print "Content-Disposition: attachment; filename=\"$file\"\n";
print "\n";
binmode(F);
binmode(STDOUT);
while(<F>) {print;}
close(F);
exit;

  セキュリティ関連の対策が
 急務だな。

 で、一応実装。

 ご興味ある方もない方も、ぜひ(暖かい)目で
見守っていただき(切に望みます)、
どんなことでも、お気づきの点などありましたら
どうぞお教えくださいますよう

よろしくお願いいたします。
かしこ。

FC2ブログランキングにほんブログ村 IT技術ブログ Webサイト構築へブログ王ランキング人気ブログランキング人気ホームページランキングへ


commentsコメント
comment_post












管理者にだけ表示を許可する
commentトラックバック
トラックバックURL:
http://metaboy.blog23.fc2.com/tb.php/674-5f46a081
ようこそ
Add to Google 創るmetaboy:RSSフィード
My Yahoo!に追加
最新記事のRSS | 問い合わせ

仕事検索、アルバイト検索、依頼仕事の検索ポータル - 仕事検索.COM - www.jobkensaku.com ツクルン

創るmetaboy - WEB創る、サイト創る、何創る - 創ったmetaboy

 

リンク集

 

最近の記事

 

ブロとも申請フォーム
Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。