• 締切済み

BASP21を使わないファイルアップロード

お世話になります。 Windows2000Server + IIS5.0 WindowsXPProfessional + IIS5.5  の環境で、BASP21などフリーのコンポーネントを使用せずにファイルアップロードをしたいと思っています。 2つの情報を見つけて試してみたのですが、動作しません。 【wscを使用】 http://www2.dolphinnetservice.ne.jp/Mattn/AcrobatASP/4.html 現象:オブジェクト呼び出し部分で「オブジェクトがありません」というエラーが出ます。 【Posting Acceptorを使用】 http://support.microsoft.com/default.aspx?scid=kb;ja;410198 環境:WindowsNT+OptionPack4.0の動作情報しか見つけることができませんでした。 上記2つの方法で、動作させる方法をご存知の方、もしくは違う方法をご存知の方は教えていただけませんでしょうか? よろしくお願いいたします。

みんなの回答

回答No.6

コンポーネント無しで.netじゃなくASPでファイルアップロードは出来ないと思ってましたが、最近見つけたのでご紹介。 FCKeditorを入手する http://www.fckeditor.net/ zipを解凍して以下のフォルダの中にあるものでファイルアップロードが出来ます。 \fckeditor\editor\filemanager\connectors\asp 中身はNetRube Upload Class Version 2.3 Build 20070528らしいですが、 ADODB.Streamを使って実現しているようです。 ただし、ドキュメントが見つからないので、ソースから解析するしかないですけどね。 FCKeditorの部品として、ファイルアップロードが実現できていることは確認済みです。 ASPソース内に以下のようなライセンス記述があります。 <% ' FCKeditor - The text editor for Internet - http://www.fckeditor.net ' Copyright (C) 2003-2009 Frederico Caldeira Knabben ' ' == BEGIN LICENSE == ' ' Licensed under the terms of any of the following licenses at your ' choice: ' ' - GNU General Public License Version 2 or later (the "GPL") ' http://www.gnu.org/licenses/gpl.html ' ' - GNU Lesser General Public License Version 2.1 or later (the "LGPL") ' http://www.gnu.org/licenses/lgpl.html ' ' - Mozilla Public License Version 1.1 or later (the "MPL") ' http://www.mozilla.org/MPL/MPL-1.1.html ' ' == END LICENSE == ' ' These are the classes used to handle ASP upload without using third ' part components (OCX/DLL). %> <% '********************************************** ' File: NetRube_Upload.asp ' Version: NetRube Upload Class Version 2.3 Build 20070528 ' Author: NetRube ' Email: NetRube@126.com ' Date: 05/28/2007 ' Comments: The code for the Upload. ' This can free usage, but please ' not to delete this copyright information. ' If you have a modification version, ' Please send out a duplicate to me. '********************************************** ' 文件名: NetRube_Upload.asp ' 版本: NetRube Upload Class Version 2.3 Build 20070528 ' 作者: NetRube(网络乡巴佬) ' 电子邮件: NetRube@126.com ' 日期: 2007年05月28日 ' 声明: 文件上传类 ' 本上传类可以自由使用,但请保留此版权声明信息 ' 如果您对本上传类进行修改增强, ' 请发送一份给俺。 '**********************************************

  • hiroaki_0
  • ベストアンサー率53% (131/245)
回答No.5

>よって、今回は「自作できるもの」「フリーではないもの」「フリーであってもソースが公開されているもの」を探しております。 だったら、BASP21Proを使うという選択肢は無いのでしょうか? ソースは公開されなくても「フリーでないもの」なのは確かです。 新しいことにチャレンジして何日も無駄にするなら、決して高い金額では無いと思います。

参考URL:
http://www.b21soft.co.jp/basp21/
meron0525
質問者

補足

補足が遅くなり申し訳ありません。 今回、パッケージを作成する予定です。 Basp21Proは各拠点毎にライセンスが必要になります。 (各パッケージ毎にライセンスが必要-babaさんに確認済み) よって、調べてはみたのですが今回は適用できませんでした。。。 ご提案ありがとうございました。

  • sam_inoue
  • ベストアンサー率47% (27/57)
回答No.4

>BASP21などフリーのコンポーネントを使用せずに... この際だから話しますが、 なぜ「BASP21」がNGなのでしょうか?商用ですか? 結局、他のものを持ってきても同じことのように見えます。 「BASP21」に関してはIISやメール送受信での利用は NT4.0からServer2003まで使っていますが問題はありません。 ダウンロードと違ってアップロードでの利用では クライアント側にインストールする必要はないので、 インストールの手間も最初にサーバに対して発生だけです。 その上で「BASP21」を避けてツールを探したり、 開発したりでは工数上でも問題になりませんか? 何が問題で避けているのかが理解できません。

meron0525
質問者

補足

「BASP21」を使用できるのなら、それにこしたことはないのです。使用できたら万歳三唱して喜びます。 長年ASPの開発に携わっておりますが、BASP21を使用できない開発は始めてですのでかなり困っています。 商用の案件のため、お客様の指示に従わなければいけないためお聞きしています。 お客様のおっしゃるBASP21を使用できない理由は、フリーであること、ソースが公開されていないことです。 フリーですので例えばBASP21でバグが出た場合の責任の所在の問題、ソースが公開されていないことにより修正も不可であるということ、上記2点がネックとなっております。 もちろん、BASP21はほとんど汎用のコンポーネントでありバグも出尽くしており新たにバグが出る可能性は0に等しいということはわかっています。 そのこともご説明し、なんとか説得しようと試みたのですがそれでもダメでした。 よって、今回は「自作できるもの」「フリーではないもの」「フリーであってもソースが公開されているもの」を探しております。 確かに開発工数は膨らんでいます。 どうしようもない場合は再度お願いしてみますが、どうしようもない理由をお伝えしなくてはいけないので色々とあがいています。 以上、理由でした。 (BASP21を使いたいーと毎日ココロの中で叫んでいます。)

  • sam_inoue
  • ベストアンサー率47% (27/57)
回答No.3

こんなのを見つけたので書き込みますが、 私は素直にBASP21なので、使用経験はありません。

参考URL:
http://support.microsoft.com/default.aspx?scid=kb;ja;299692
meron0525
質問者

補足

私も素直にBASP21を使いたいです。。。 アップロード部分を自作するとこんなに大変だとは・・・ 有益な情報をありがとうございます! さっそくためしてみたいと思います。 サーバーのセットアップが複雑なため、使用を許可してもらえないかもしれませんが。。。 もし、何かわかりましたらご報告いたします。

  • Gimli
  • ベストアンサー率47% (9/19)
回答No.2

Posting Acceptor は、日本語環境での動作が保証されていないので、やめた方が無難です スクリプトコンポーネントの方ですが、提示されたURLのサンプルのコードを試しましたが、当方でも同じ現象になりました。 #提示されたURLのリンクは間違っているようです。 ただ、FORMのあるページと、WSCを使ってファイルに保存するページに分けたら動作しましたよ。

meron0525
質問者

補足

ありがとうございます! 当方でもフォームとWSCを分けると動作することを確認 しました。 ただ、どのようなタイミングかわからないのですが、たまにオブジェクトがありません。 というエラーが出る場合があります。 現在、このソースを改変してフォーム値を受け取れるようにするのと複数のCSVを受け取れるように修正中ですが思うように動作しません。 もし、何かわかりましたら補足します。 あと、URLすみませんでした。 以下が正しいURLとなります。 http://www.dolphinnetservice.ne.jp/AcrobatASP/4.html

  • hiroaki_0
  • ベストアンサー率53% (131/245)
回答No.1

IISの上でファイルを受け取るCGI?はASP(VB)ですか? PHPを使うとかって言うのも反則ですね?

meron0525
質問者

補足

ASPです。 ある機能の一部なのですが、他のソースもASPです ので、ASPで実現させたいと思っています。

関連するQ&A

  • basp21をWindowsServer2008R2で利用するには。

    basp21をWindowsServer2008R2で利用するには。 お世話になります。 32Bit WindowsServer2003環境で利用していたメール送信ンポーネントbasp21を64bit環境で利用できるか調査しています。 32bit環境で利用していたメール送信用のvbsファイルをなんとかそのまま使いたいです。 検索していたら、 64bit版のIIS7.0でBasp21を使う方法 を発見し試しましたが動作しません。 http://d.hatena.ne.jp/windowsserver/20080926/1222407780 行った操作は、以下の通りです。 ・basp21を使いたいサイトに対応するアプリケーションプールの「詳細設定」を開きます ・「32ビットアプリケーションの有効化」を[True]にします。 次のアラートが表示されます。 エラー:ActiveXコンポーネントはオブジェクトを作成できません。'basp21' コード:800A01AD ソース:Microsoft VBScript 実行時エラー basp21をWindowsServer2008R2で利用するためにどのような設定が足りないのでしょうか。 どなたかご教授いただけませんでしょうか。 何卒宜しくお願い致します。

  • BASP21のファイルアップロードでエラー

    IIS7.0の環境にBASP21をインストールして、ブラウザからのファイルアップロードを処理しようとしています。BASP21は、BASP21-2003-0211.exe をインストールしました。 症状は、ブラウザ(MSIE 7.0.5730.13)からファイルアップロードをすると、うまくいくときもあるし、うまくいかないときもあるという感じです。 うまくいくときは FormSaveAs でファイルが保存され、そのファイルを読み出して処理することができます。 うまくいかないときは FormSaveAs が -2(名前が見つかりません)を返し、ファイルが保存されません。 HTMLのフォームの部分は以下のようになっています。 <form enctype="multipart/form-data" method=POST action="upload1.asp"> <input type="hidden" name="MAX_FILE_SIZE" value="3000000"> ファイル名:<input type="file" name="userfile" size="60"><br /> <input type="submit" value="ファイルを送信"><br /> </form> 同じファイルを何度も送信して試してみたところ、a = Request.TotalBytes のところで、a にセットされる値が変わることがわかりました。 テストに使ったファイルでは、うまくいくときは 818 になり、うまくいかないときは 821 になりました。ファイルそのものは 413 バイトなので、付加されるヘッダ情報に違いがあるのではないかと思いました。 そこで、パケットモニタを使用して送信されるデータを見てみたところ、boundary= の後ろに指定される文字の長さによって動きが変わってくるように見えました。 マイナス連続の後ろが 7d934f3211530(13文字)→NG マイナス連続の後ろが 7d9274d11530(12文字)→OK 送信フォームの中にはパーツが2つあり、末尾のboundaryも含めて3つになりますので、1文字違うと合計で3バイト違ってきますので計算は合います。 このあたりの情報は、どこかにないでしょうか?BASP21の使い方が悪いのか、HTMLやASPの書き方が悪いのか、わからないので困っています。

  • WindowsNT4.0 Optionpackのインストールについて。

    今現在WindowsNT4.0 ServerのSP5という環境で使用していますが、これにOptionpackのIIS4.0をインストールしたいと考えています。 それでOptionpackの推奨を見るとSP3.0が推奨になっているのですがSP5.0が入っているマシーンでも問題なくインストールできるでしょうか?? 加えてIIS4.0のインストールする際の「最小」・「標準」・「カスタム」の大まかな違を教えてください。 その他にIISインストールに関する注意事項等ありましたらなんでも構いませんので教えてください。 よろしくおねがいします。

  • ファイルのアップロードについて

    初めて投稿させていただきます。 今、WindowsNT4.0+SP6,IIS+ASPでファイルのアップロードを考えています。 調査している中で、basp21を使用してファイルをアップロードするところまでわかったのですが、その後すこしつまずいています。 basp21を使用してファイルを送信する場合、HTML上に<input type="file" name="strName">というタグを明記し、ファイルを送信する場合には、このタグに該当するファイルの絶対パスを明記するとは思うのですが、これを固定のファイル名にしたいのです。 試したこととして<input type="file" name="strName" value="c:\test.text">という形で明記しましたが、表示されませんでした。 ブラウザーはIE6.0およびNetscape 6.1を使用しております。 よろしくお願いします。

  • basp21でのファイルアップロード確認画面

    BASP21を使用してファイルのアップえロードをしています. 現状で<input type=file>で選択したファイルを submitボタン押下でファイルのアップロードする所までは 期待どうりの動作しています. ここに、アップロード確認画面をつけくわえたいのですが 確認画面でどのようにファイルうけ渡せばよいか分からず困っています つまり、 1.ファイル選択画面   ・ファイル選択   ・submitボタン     ↓ 2.確認画面(アップロードするファイルのパス表示)   ・アップするファイルパス表示   ・submitボタン     ↓ 3.アップロード結果表示画面   (ここで始めてファイルのアップロード)   ということがしたいのです. しかし、2の状態でファイル情報を保持し、 3へ受け渡すのかが分かりません. どうか、お力添えお願いします.

  • BASP21のエラーについて

    Windows XP Excel2003でBASP21を使用してメールを送信させています。 次のようなコードを使用して送信すると エラーの内容 "xxxsmtp.mail.yahoo.co.jp Closig transmission channel You must be pop-aut" 翻訳で ”あなたはホップアップ同型を伝送チャネルにする必要があり” Sub AB_jidou() Dim bobj, msg As String Dim Server As String, Mailto As String, MailFrom As String, Subject As String, Body As String Set bobj = CreateObject("basp21") ''BASP21オブジェクト Server = "xxxsmtp.mail.yahoo.co.jp" ''SMTPサーバー Mailto = "xxxx8743@xxxx.ne.jp" MailFrom = "xxxxxx0@xxx.ne.jp" ''差出し人 Subject = " 取引情報" ''タイトル Body = Sheets(1).Range("U34") ''本文 msg = bobj.SendMail(Server, Mailto, MailFrom, Subject, Body, "") Set bobj = Nothing If msg <> "" Then MsgBox msg End Sub ところが受信を実行するとそれ以降送信が可能になります。 プログラムが走っている間は良いのですが一度閉じてまた立ち上げると同じ症状になります。 その都度受信をするのは大変ですので何とかしたいのですがご存じの方教えてください。 よろしくお願いします

  • ASPでSOAP通信

    ASPを使ってSOAP通信をやりたいのです。 まずサーバーを作らないといけないと思うのですが、何をやったら良いのでしょうか? 動作環境 WindowsNT 4.0 IIS 5.0

  • WINDOWSNTでプロセス情報を取得

    VisualBasic6 WINDOWSNTの環境でどのプロセスが動いているかの情報を取得するシステムを作成しています。 WINDOWSXPの環境では、正常に動作したのですが、 WINDOWSNTでは、うまく動作しません、どなたか、 プロセス情報を取得する方法を教えてください。 また、WINDOWSNTの環境では無理なのでしょうか? よろしくお願いします。

  • 【BASP21+ASP】MDEファイルがDL出来なくなった

    いつもお世話になっております。 IIS+VBSで、サーバーに上げたファイルを各自の端末でダウンロード出来る ページを作成しています。 例えば、クライアントで <a href="download.asp?FILE=見積書.xls">見積書</a> をクリックすると、download.aspに変数FILE(見積書.xls)が 渡され、download.asp側でtoolsフォルダ配下の見積書.xlsを ダウンロードする準備を行う、といった具合です。 これまで順調に動いていたのですが、ここ2,3日で急に AccessのMDEファイルがダウンロード出来なくなってしまいました。 本来ならダウンロード確認画面に「XXX.mde」と表示されるはずが、 「download.asp?FILE=XXX_mde」と書き換えられたかのように表示され、 保存しようとしてもエラーになります。 開く を選択するとASPのエラーが表示されるのですが、 BASP21のobjBasp.BinaryReadメソッドのところで「特定できないエラー」が 表示されています。 今までMDEファイルもダウンロード出来ましたし、家で同じ環境を構築しても 上手くいったのですが、会社の環境だけこのような事態になっています。 どなたかこの解決方法をご教授願えませんでしょうか? よろしくお願い致します。 (会社、自宅とも、WinXP+IIS6です) ---------------download.asp のソース-------------- Dim dat Dim objBasp Dim fname Dim bydata fname = Request.QueryString("FILE") Response.ContentType = "application/octet-stream;name=" & fname Response.AddHeader "Content-Disposition","attachment;filename=" & fname Set objBasp = Server.CreateObject("Basp21") bydata = objBasp.BinaryRead(Server.MapPath("tools/" & fname)) Response.AddHeader "Content-Length", ubound(bydata) + 1 Response.BinaryWrite bydata Set objBasp = Nothing -------------------------------------------------------

  • フリーFTPソフトBASP21のタイムアウト

    現在、こちらで(↓)提供されているフリーのFTPライブラリ「BASP21」を使用して http://www.hi-ho.ne.jp/babaq/index.html FTPでのファイルダウンロードを行なっています。 OSはWindowsXP、開発言語はVB6.0です。 使い方はいたってシンプルで、抜粋したソースを以下に示します。 ' FTPオブジェクトの生成 Set FTPObj = New BASP21Lib.FTP ' コネクト (各変数には適切な値が入っています) rResult = FTPObj.Connect(URL, User, Pass) ' 指定ファイルの受信 rResult = FTPObj.GetFile(RemoteFilePass, LocalFilePass) ' FTPオブジェクトの破棄 Set FTPObj = Nothing この処理をファイル数分(RemoteFilePass/LocalFilePass)、繰り返しています。 Connect関数で指定するタイムアウト時間は、10秒としています。 するとなぜか、最初の1個目のファイルだけタイムアウトエラーとなってしまいます。 2個目以降のファイルは問題なく受信できています。 試しにタイムアウト時間を30秒にすれば1個目のファイルも受信できるのですが、 OpenLog関数で出力されるFTP実行ログを見ますと、最初の1個だけGetFile関数 に21秒もかかっており、 (1) RETR /ファイルパス (2) 150 Opening ASCII mode data connection for /ファイルパス ※(1)と(2)の間が21秒かかっている 2個目以降のファイルは1秒以下で受信できています。 どうして最初の1個だけ異常に長い時間がかかっているのか分からず、悩んでいます。 環境的な問題(FTPサーバとか、BASP21とか…)なのでしょうか? もし心当たりのある方がいらっしゃいましたら、ヒントや、回避方法のアドバイスなど 頂ければ大変助かります。 ちなみに、BASP21は最新版を使用しています。 以上、よろしくお願い致します。