2

私はこのような画像を表示しています:

<img src='counter.asp'>

counter.aspはヒットカウンターを実行して、画像が表示される頻度を決定します(URLに置き換えmodrewriteます)。

問題:counter.aspスクリプトで、実際の.jpg画像をブラウザに送信する必要があります。これはどのように行うことができますか?FSOを介して画像をロードし、それを使用して送信する必要があると思いますResponse.BinaryWrite-何かアイデアはありますか?

4

3 に答える 3

10

バイナリを読み込んで出力するには、ADODB.Stream オブジェクトを使用するだけです。

ADODB.Stream MSDN ライブラリを参照してください:
http://msdn.microsoft.com/en-us/library/ms675032(VS.85).aspx

Experts Exchange からも見つけた例を次に示します。

Function ReadBinaryFile(strFileName) 
        on error resume next 
        Set oStream = Server.CreateObject("ADODB.Stream") 
        if Err.Number <> 0 then 
                ReadBinaryFile=Err.Description 
                Err.Clear 
                exit function 
        end if 
        oStream.Type = 1  
        oStream.Open 

        oStream.LoadFromFile strFileName 
        if Err.Number<>0 then 
                ReadBinaryFile=Err.Description 
                Err.Clear 
                exit function 
        end if 
        ReadBinaryFile=oStream.Read 
        oStream.Close 
        set oStream = nothing 
        if Err.Number<>0 then ReadBinaryFile=Err.Description 
End Function  
于 2010-04-09T11:37:34.283 に答える
2

counter.asp必要な画像にリダイレクトするだけです。

<%
response.redirect("/virtual/path/to/yourimage.jpg")
%>
于 2010-03-21T05:47:09.737 に答える
-5

FSO はバイナリ ファイルを読み込めず、テキストのみを読み込めます。サードパーティのコンポーネントを使用する必要があります。

于 2010-03-19T23:35:25.150 に答える