このページの本文へ

前へ 1 2 3 4 次へ

  • twitterでつぶやく
  • はてなブックマークに登録
  • del.icio.usに登録
  • livedoorクリップに登録
  • Buzzurlに登録
  • StumbleUponに登録
  • Google Bookmarksに登録
  • Facebookでシェア
  • Yahoo!ブックマークに登録
  • お気に入りに登録
  • 本文印刷

古籏一浩のJavaScriptラボ ― 第25回

画像の自動アップロードもJavaScriptにお任せ!

2010年02月12日 11時00分更新

文● 古籏一浩

※この記事は「古籏一浩のJavaScriptラボ」の第25回です。過去の記事も合わせてご覧ください。

Adobe Bridge

 「Adobe Bridge」のJavaScriptを使ってWeb画像処理を自動化する本連載。前回はWebサーバーから取得したRSSのタイトルを抽出し、Photoshopで画像として保存する方法を紹介しました。BridgeはFTP に対応しており、JavaScriptを使ってファイルをアップロードしたりダウンロードしたりできます。今回は、保存した画像をサーバーにFTPで転送してみましょう。

■シリーズラインナップ


BridgeでファイルをFTPサーバーに転送してみよう

 BridgeでFTP機能を有効にするには、本連載の第22回で説明した以下のスクリプトを最初に記述します。


if ( !ExternalObject.webaccesslib ) {
    ExternalObject.webaccesslib = new ExternalObject("lib:webaccesslib");
}


 FTPサーバーへのアクセスは、new FtpConnection()を使ってFTPオブジェクトを作成します。new FtpConnection()の引数には接続先のサーバー名を指定します。セキュアなFTPにも対応しています。

 FTPオブジェクトを生成しただけではサーバーに接続されませんので、接続前にユーザー名とパスワードなどを設定しておきます。ユーザー名はFTPオブジェクトのusernameプロパティに、パスワードはpasswordプロパティに入れます。また、今回は画像ファイルの転送なので、binaryプロパティにtrueを設定してバイナリ モードでファイルを送信します。

 以上で設定完了ですので、open()メソッドを使ってFTPサーバーに接続します。open()の戻り値がtrueなら接続に成功、falseなら失敗です。falseの場合はサーバー名やパスワードなどを再度確認しましょう。

 ファイルの転送にはput()メソッドを使います。転送元のローカルファイル名を第1引数に、転送先のファイル名を第2引数に指定します。FTPサーバーへの転送が終わったらclose()で接続を終了します。

 サンプル01はローカルのホームフォルダにある「rss_title.jpg」ファイルをFTPサーバーへ転送するものです。なお、サンプル01以降すべてのサンプルでユーザー名「asc」、パスワード「ascii」としています。実際に使用する際は、FTPサーバー上のユーザー名とアカウント名を設定してください。

●サンプル01


#target "Bridge"
// Http, Ftpが使えるようにする
if ( !ExternalObject.webaccesslib ) {
    ExternalObject.webaccesslib = new ExternalObject("lib:webaccesslib");
}
// FTP転送するサーバー名
var url = "ftp://●●●●●●●●●";
var username = "asc"; // ユーザー名
var pw = "ascii"; // パスワード
var localfile = new File("~/rss_title.jpg");    // 転送元のファイルパス
var filename = "rss_title.jpg";   // 転送先のファイル名
// FTPサーバーへ接続
var ftp = new FtpConnection(url);
ftp.username = username;    // ユーザー名
ftp.password = pw;  // パスワード
ftp.binary = true;  // バイナリモード
var flag = ftp.open();
if (flag == true){  // 正常に接続できた場合に処理
    ftp.put(localfile, filename); // ファイルを転送
    ftp.close();
}else{
    alert("FTPサーバーに接続できませんでした");
} 
localfile.close();

●●●●●●●●●:FTPサーバー名を入れて下さい


前へ 1 2 3 4 次へ

この連載の記事

ASCII.jp会員サービス 週刊Web Professional登録

Webディレクター江口明日香が行く

みんなが買ってる最新アイテムはコレだ!

VOCALOID3 スターターIA ARIA ON THE PLANETES

VOCALOID3 スターターIA ARIA ON THE PLANETES

ヤマハ

17,745円〜

24人が購入

標準HTML5タグリファレンス (WEB PROFESSIONAL)

標準HTML5タグリファレンス (WEB PROFESSIONAL)

アスキー・メディアワークス

2,205円〜

70人が購入

Google上位表示 64の法則 (WEB PROFESSIONAL)

Google上位表示 64の法則 (WEB PROFESSIONAL)

アスキー・メディアワークス

2,499円〜

69人が購入

Speck MacBook Air 13型 See Thru - Clear SPK-MBA13-SEE-CLR

Speck MacBook Air 13型 See Thru - Clear SPK-MBA13-SEE-CLR

スペックコンピュータ

4,262円〜

21人が購入

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

アスキー・メディアワークス

2,499円〜

38人が購入

メモリーカード 32GB (PCH-Z321J)

メモリーカード 32GB (PCH-Z321J)

ソニー・コンピュータエンタテインメント

7,772円〜

9人が購入

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

マイクロソリューション Micro Solution Inc.

60人が購入

Amazon.co.jp