今回はFTPのアップロード処理について説明します。
改造したInDesign CS3では、ファイルをダウンロードするだけでなくアップロードすることもできます。サーバーへのアクセス方法は、get()を使ってダウンロードする場合と全く同じです。異なるのはアップロードする命令です。
アップロードする場合はput()を使います。最初のパラメータにアップロードしたいファイルオブジェクトを指定します。ファイル名ではない点には注意してください。2番目のパラメータには、サーバーにアップロードした際に付けるファイル名になります。
put()は正しくファイルがアップロードされるとtrue、アップロードに失敗した場合はfalseを返します。これにより、エラーメッセージを表示したり処理を継続するかどうか判断することができます。
改造したInDesign CS3では、ファイルをダウンロードするだけでなくアップロードすることもできます。サーバーへのアクセス方法は、get()を使ってダウンロードする場合と全く同じです。異なるのはアップロードする命令です。
アップロードする場合はput()を使います。最初のパラメータにアップロードしたいファイルオブジェクトを指定します。ファイル名ではない点には注意してください。2番目のパラメータには、サーバーにアップロードした際に付けるファイル名になります。
put()は正しくファイルがアップロードされるとtrue、アップロードに失敗した場合はfalseを返します。これにより、エラーメッセージを表示したり処理を継続するかどうか判断することができます。
サンプル7では、ファイル選択ダイアログで指定されたファイルをサーバーにアップロードします。同期通信のため、ファイルサイズが大きいと、完全に転送が終わるまで次の処理が行われないので注意してください。大量のファイルをアップロードする場合や、サイズの大きいファイルをアップロードする場合は、同期通信でなく非同期通信を使って処理する方が好ましい場合もあります。同期通信と非同期通信の切り替えは、FTPオブジェクトのasyncまたはsyncプロパティで指定することができます(詳しくは、JavaScript Tools Guideを参照してください)。
ファイル転送の際に、バイナリモードとアスキーモードの指定を行うこともできます。特に指定しない場合は、バイナリモードになっています。バイナリモード、アスキーモードの設定は、FTPオブジェクトのbinary、asciiプロパティで設定することができます。binaryプロパティにtrueを設定すると自動的にasciiプロパティはfalseに設定されます。
●サンプル
// 選択したファイルをFTPサーバーにアップロードする
var uploadFile = File.openDialog("アップロードするPDFファイルを指定し
てください");
var uploadFilename = uploadFile.name; // ファイル名だけを抜き出す
putFtpData("ftp://www.openspc2.org","adobe","indesign", uploadFile, up
loadFilename);
// FTPを使って指定されたサーバーファイルをアップロードする
function putFtpData(sURL, userName, password, fileObj, file){
if ( !ExternalObject.webaccesslib ) {
ExternalObject.webaccesslib = new ExternalObject("lib:webaccesslib");
}
var ftp = new FtpConnection(sURL);
ftp.username = userName;
ftp.password = password;
ftp.ftpDir = "./";
var flag = ftp.put(fileObj, file);
if (flag== false){
alert("アップロードできませんでした");
}
ftp.close();
}
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
ScanSnap買ったんですが、一回使って終了。Microsoft QuickBasicのマニュアルをPDF化しただけ……。仕事依頼や連絡はメール、校正はPDF。スキャンすべき紙がない……。お金に困ったら何でも鑑定団にだそうかと思っている、他の著者からもらったサイン本くらいしかない……。一番たまっているのはCLUB DYDOのポイントカードかも。でも数えたら2500ptしかなかった。
・Illustrator CS4使い方辞典
< http://www.openspc2.org/reibun/IllustratorCS4/
>

- 改訂第4版 JavaScript ポケットリファレンス
- 古籏 一浩
- 技術評論社 2006-10-18
- おすすめ平均
JavaScriptを使ったプロジェクトのお供に是非
JavaScript仮免者以上の方へ
バランスの良いバイブル
中級者向けです。
by G-Tools , 2009/01/26