推奨:ASPプログラムを使用してディスクにファイルがあるかどうかを判断する方法以下は引用されたコンテンツです:<%dim objfolderdim objfsodim j set fso = server.createobject(scripting.filesystemobject&q
ASPを使用して特定のユニットのWebページを作成する際に、このような問題に遭遇しました。ユニットの以前のMISシステムでは、バイトストリームの形でデータベースにいくつかの単語ファイルが保存されました。これで、ユーザーはASPを使用してデータベースからこれらの単語ファイルデータを取り出し、Webページに表示するように依頼しました。最初は、サーバー上に一時ファイルを作成し、その後、一時ファイルへのリンクをWebページに追加することを当然考えました。ただし、この方法は、サーバーの負担を大幅に増やし、特定のクライアントが使用する一時ファイルがサービスで他のクライアントが使用するファイルによって上書きされないようにする方法と、ファイルがユーザーに転送された後にファイルを削除する方法を確実にする方法を確認します。これらの問題は実際には解決が困難です。それで、より良い方法はありますか?
---このため、ASPリファレンスブックを注意深く見て、応答オブジェクトにはContentTypeと呼ばれるプロパティがあることを発見しました。これは、サーバーによってクライアントに送信されるMIMEタイプのコンテンツを定義します。 Mimeのフルネームは、多機能インターネットメールエクステンションである多目的インターネットメールエクステンションです。 Webプログラミングでは、ハイパーリンクを単語またはExcelファイルに指している場合があります。ユーザーがこのリンクをクリックすると、ブラウザは対応するメソッドを自動的に呼び出してファイルを開きます。これができる理由は、ユーザーのマシンにオフィスをインストールした後、対応するMIMEリソースタイプがブラウザに登録されるためです。たとえば、ワードファイルのMIMEタイプはApplication/MSWORD(前者はMIMEタイプ、後者はMIMEサブクラス)であり、ExcelファイルのMIMEリソースタイプはApplication/MSExcelです。実際、ブラウザで処理できるすべてのリソースには、対応するMIMEリソースタイプがあります。たとえば、HTMLファイルのMIMEタイプはText/HTMLであり、JPGファイルのMIMEタイプはImage/JPGです。サーバーとの相互作用で、ブラウザは、受信したデータのMIMEタイプに基づいて実行される処理の種類を決定し、HTMLやJPGなどのファイルブラウザに直接開き、対応するメソッドを呼び出して、WordやExcelなどのブラウザーで開くことができないファイルを開くように呼び出します。 MIMEタイプがマークされていないファイルの場合、ブラウザはその拡張機能とファイルコンテンツに基づいてそのタイプを推測します。ブラウザが推測できない場合は、アプリケーション/オクテットストリームとして使用します。さまざまなファイルのMIMEタイプを理解するには、win98 My Computer-> View-> Folder Options->ファイルタイプで確認してください。
----だから私は突然のインスピレーションを得て、ASPでは、まずバイトストリームで単語データを取り出してから、そのContentType属性をApplication/MSWORDとしてマークしてからクライアントに送信できると考えました。クライアントがこのリソースを受信した後、MIMEタイプに応じてクライアントに自動的に単語を呼び出します(もちろん、クライアントに単語がインストールされているという前提は、それ以外の場合は認識されていないリソースとして使用され、ユーザーに開くのではなく保存するように促します)。テスト結果は非常に優れており、この方法はシンプルで高速であり、IE 5では、ブラウザはエンメッドメソッド(OLEメソッドと同様)を使用しているため、より良い結果が得られます。以下はプログラムの内容です。
---テーブル名がtab_wordであり、テーブルに2つのフィールドがあるとします。 1つは整数タイプとIDで、Wordデータの一意の識別子として使用されます。もう1つは、単語データを保存するブロブタイプとワードダタです。次に、ページにIDが1に等しいIDを持つ単語ファイルの内容を表示するために、ASPプログラムは次のとおりです。
| <% 'conn-作成されたデータベース接続 'RS-結果セット rs = conn.execute(select tab_wordのworddataここで、id = 1) Response.ContentType = Application/MSWORD respons.writebinary(rs(worddata)) '結果セットのデータはwritebinaryを使用して直接送信され、変数を使用しないことに注意してください 「このデータを受信します。そうしないと、システムがエラーを報告します %> |
共有:障害解決:ASPスクリプトのタイムアウトを実行する方法私は最近サーバーの知識を学んでいます。 ASPスクリプトがタイムアウトを実行するエラーに遭遇することがありますが、これは本当に面倒です。関連情報を見つけましたが、いくつかの解決策があります。 IISのデフォルトのスクリプトタイムアウトは90秒です。ソフトウェアをアップロードするか、90秒以上データを転送する場合。