goo blog サービス終了のお知らせ 

Biz/Browserを愛でる会

我々が感動したことをみなさまに味わって頂きたい、それがBiz/Browserを愛でる会の原点です。(入会員募集!)

Biz/Browser によるファイルアップロード(佐藤)

2006-12-01 12:02:14 | プログラミング応用講座(佐藤)

一般的にファイルアップロードはFTPで行うが、これをBiz/Browserで行うことによって以下のメリットが生まれる。
・FTPクライアントソフトが不要になる
・FTPのパスワードを教える必要がない(パスワード漏洩の予防になる)
・FTPのポートを不特定多数に開放する必要がない(セキュリティがより強固)
・Bizアプリケーションの機能の一部として組み込むことができる(操作性、機能の向上)

<例1:商品画像のアップロード>
エンドユーザがドラッグ&ドロップにより画像をアップロードすることができる



<例2:CRS,QFMファイルのアップロード>
外注先などに直接サーバ上にBiz/Designerで作成したCRSやPrintStreamのQFMファイルをアップロードさせる。(完全に同一環境での検証が可能)




Biz側CRSでは以下のようにしている。
Base64エンコードを使って実現。ASP.NETサーバ側ではBASE64でデコードしてデータを取り出す。

 Function AspxUpload(fname, f_data, v_ht, v_design){
 /* ===================================================
  ■関数 AspxUpload = .Netサーバーへファイルをアップロードする
   引数1:I String = ファイル名
   引数2:I (Readメソッドを持つオブジェクト) = D&Dのe.DataやFileオブジェクトなど
   引数3:I String = nullか "1"か"souko"か"tenpo"=HHT用Uploadパラメータ
   引数4:I String = nullか "CRS"か"PSS"=Biz/Designer用Uploadパラメータ
   戻値  0=成功, -1=失敗
  =================================================== */
  var fn2 = new string(fname).split("");
  var v_enc = new Base64Encoder(f_data).Read();
  var session = AspxFindHTTPSession();
  var req = session.createRequest(AspxPath+AspxAddPath+"uploaddata.aspx");
  req.addParam("rd",ClassSatoo.AspxRandId);
  req.addParam("fname",fn2[fn2.length-1]);
  req.addParam("file",v_enc);
  if (v_ht!= null){
   if (v_ht=="img"){
    req.addParam("img",v_ht);
   } else {
    req.addParam("hht",v_ht);
   }
  }
  if (v_design!= null){
   req.addParam("DIR",v_design);
  }
  var res = session.post(req);
  var res2 = new string(res).toUpperCase();
  if (find(res2,"OK",0)>=0){
   Classsatoo.CrsSessionLastDate=sysdate();
   return 0;
  }
  return -1;
 }


最新の画像もっと見る