忍者ブログ
全くIT系ではない製造業の社員がイントラ上でColdFusionと格闘。システム構築を外部委託するとき「できればColdFusionでお願いします」と頼むのだが・・・・
[52] [51] [50] [49] [48] [47] [46] [45] [44] [43] [42]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

裏金燃やすってさ、みんな信じてるんだろうか・・・・・

冷静に考えると、燃やすわけねーだろ! って思う。

さて、

ColdFusionを使って、お気楽にディレクトリ内のファイルをweb公開する例です。
ぶっちゃけwebサーバーの機能だけでスグできるわけですが、あえてColdFusionを使います。はい。

最近のコピー機はいわゆるネットワーク複合機で、いろんなことができます。
ワタシもよく使う機能に、スキャンしてPDFにしてメールで送ってくれる機能があります。
当たり前ですがオートフィーダーもついているので、数十枚のペーパーをさくっとPDFにすることができます。
メールアドレスを登録しておけば、メール送信してくれたり、ユーザー名パスワードを設定して、サーバーのフォルダに直接保存したりできます。

この機能は、総務系うっかり課長(イメージ右図)レベルでも使えるので、「ペーパーレス化」とか「業務効率化」とか、耳障りのいいコトバと共にじゃんじゃんPDFが生成されるわけです。
すると当然総務系うっかり課長(イメージ右図)なんかは、「おい!回覧したりFAXしてる訃報なんぞは、PDFで送れば通信費削減だな!」 などと言い出すのは、たぶん何処の企業でも同じだと想像します。

すると今度は総務系オツボネーゼが「課長!そんなこと言ったって、メールでみんなに送るなんてめんどくさくてありえなーい!」と反論。で、じゃぁホームページで公開すれば・・・・・ となりオハチが廻ってくるしくみです。

そんな背景でサクッと。

webサーバーに公開用フォルダを用意します。アクセス制限をして、総務系オツボネーゼに書き込み権限を与えて、オツボネーゼのデスクトップにショートカットを仕込みます。
この公開用フォルダにPDFを保存すれば、そのまんま公開されるしくみを作ります。
オツボネーゼの仕事は、「コピー機でPDFを作り、ファイル名を整えて保存する」となり、このくらいなら「えーファイル名変えるのめんどくさーい」程度のイヤミを聞かされる程度で業務に組み込めますね。

<cfdirectory directory="/var/www/html/fuho" action="list" name="spf" filter="*.pdf" sort="name DESC"/>
<cfoutput>

 <h3>訃報</h3>
 <cfloop query="spf">
 <div class="items">
  <cfif (IsNumeric(ListGetAt(name,1,'.')) is false) or (Len(ListGetAt(name,1,'.')) neq 8)>
    [#name#]←ファイル名がyyyymmdd.pdfでは無いようです....
  <cfelse>
    <h3><a href="./kyu/sambaweb/newspaper/#name#" target="_PDF">#left(name,4)#年 #mid(name,5,2)#月 #mid(name,7,2)#日</a> (#NumberFormat(size/1024/1024,'__._')#MB)</h3>
  </cfif>
 </div>  
 </cfloop>
</cfoutput>

ソースです。fuho フォルダにyyyymmdd.pdf 形式でpdfを保存すると、

2006年 09月 07日 ( 2.1MB)

2006年 09月 06日 ( 1.1MB)

2006年 09月 05日 ( 2.3MB)

 といった感じで日付にpdfへのリンクが張られ、サイズが表示されます。

== 解説 ==

1行目の<cfdirectory>→LiveDocs)で指定したフォルダ内のリストを取得しています。
directory="/var/www/html/fuho" は絶対パスで。Linuxなのでこう書いてますが、windowsなら directory="d:\inetpub\wwwroot\hogehoge" などと、ドライブレターからですね。
他のパラメータの意味は、
action="list" 欲しいのはリストだよ
name="spf" 取得した一覧はspf っていう変数に入れてね
filter="*.pdf" 取得するのは、拡張子がpdfのファイルだけでいいよ
sort="name DESC" ファイル名降順で並べ替えておくれ

という意味です。

ここで文字化けの問題に遭遇することがあります。
linuxのCFサーバーから、sambaで公開している日本語ファイル名を読むと、バケバケです。
これを回避する方法は今のところ解りません。誰か教えて下さい!

ワタシの見つけた唯一の解決策は、windowsのCFサーバーから、linuxのsambaフォルダを読むと文字化けしない。ってことです。
cfdirectoryはネットワーク越しでも使えますから。(でもスッキリしない・・・・・誰か教えて!)

つづく

PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
ブログ内検索
プロフィール
HN:
CFIF
性別:
男性
自己紹介:
もっと日本でもColdFusionが広まって欲しいです。

情報通信を生業としない企業の、システム系でもない普通の社員なので、 ColdFusionは独学。参考書が少ないのがツライです・・・・なんだかんだ、ColdFusion4.xのシリウス時代から7年くらいのおつきあい?リンコムNextのソースが教科書かも。

外注するときはよく「できればColdFusionで・・・・」とお願いするのですが、ほとんどの場合「えっ!?」と驚かれてしまい、「SEのアサインが・・・」などと営業さんが困ってしまうことが多くて悲しいです。
ちょっとしたものなら自分でシステム構築しちゃいますが、一人でやるには時間が足りませんね・・・

FlashRemotingとかもやりますが、Flexには手を出してません。
と、最初の頃書きましたが、ついにFlexに手を出しました。Flex1.5はイマイチわかりませんでしたが、Flex2は別物ですね。これで6万円でイインデスカ?
そしてFlex2とColdFusionの組み合わせなら無敵な気がしますよ。ほんとに。
最新トラックバック
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
なかのひと
忍者ブログ [PR]