誰かがADOストリームで作成されたコンポーネントレスアップロードプログラムを投稿しました。今日は簡単な紹介をします。
過去には、ASPを使用してファイルを操作したい場合は、移動、コピー、削除、メモパッドファイルの作成など、基本的にファイルSystemObjectオブジェクトを介して行われました。もちろん、これは非常にプロフェッショナルであり、悪いことは何も言わない。確立時間、サイズ、最後の変更時間など、完全なファイル情報を提供できますが、痛みを伴う高コストの文字形式の変換が行わない場合は、バイナリファイルを直接操作することはできません。
ただし、導入したストリームオブジェクトは、テキストオブジェクトとバイナリオブジェクトの両方を操作できます。要件は、マシンがADO2.5以下のバージョンをインストールする必要があることです。http://www.microsoft.com/dataからダウンすることができます。
このストリームオブジェクトには、バイナリファイルとテキストファイルを操作するための多くの方法が含まれています。例を見てみましょう
ストリームオブジェクトを開きます
<! - メタデータタイプ= Typelib UUID = 00000205-0000-0010-8000-00AA006D2EA4 NAME = ADODB TYPE LIBRARY--> <% 'Stream Instancedim ObjStreamset ObjStream = Server.CreateObject(AdoDB.Stream)
上記の引用については、あなたが理解していないなら、私が以前に投稿した投稿を読むことができます、私が忘れた特定の名前
注:バージョンが正しくない場合、上記のコードにエラーメッセージがプロンプトされます。
これで、0レングスのストリームが作成されました。いつでも、サイズ属性を使用して、ストリームのサイズを表示できます。次に、操作、バイナリ、またはテキストの種類を指定する必要があります。テキストの場合は、ASCII形式かユニコード形式かを指定する必要があります。
次のコード:
objstream.type = adtypetext
objstream.charset = ascii
次に、このストリームにテキストファイルを書き込み、そのloadfromfileメソッドを使用します
objstream.loadfromfile d:/inetpub/wwwroot/webtech/083100-1.shtml
ここでは、ストリームを操作する場合、場所の概念を理解する必要があることに注意する必要があります。 LoadFromFileメソッドを使用した後、ストリーム内のすべての内容がクリアされ、ファイルがストリームにロードされ、ストリーム位置が0に復元されます(ストリームの開始位置)
現在の0位置で情報を書くと、元のコンテンツが上書きされるため、何かを追加したい場合は、次のように最後の位置から開始する必要があります。
objstream.position = objstream.size
このコードは、現在の位置を最後に移動します
たとえば、後ろに何かを追加できます。
objstream.writeText私のチャットルームにアクセスしてください、MMは特に大歓迎です
ハハ
私たちが目的を達成したので、それを保存しましょう
ここで注意すべきことは、iUSER_MACHINENAMEのアカウントを使用するため、対応するディレクトリはアカウントに書き込み許可を開く必要があるということです。これは不可能です。そうしないと、エラーが発生します。
objstream.savetofiled:/inetpub/wwwroot/demos/streamdemo.txt、adsavecreateoverwrite
私たちの素晴らしい伝統を継承し、使用後にリリースを終了します
'ストリームを閉じて、何も設定しません...