首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi Web Server (ISAPI/CGI) 動態回傳 JPEG 圖片

     編輯:Delphi

應用場景

使用 Delphi 3/4/5 開發 ISAPI/NSAPI 或 CGI 網站應用,需動態產生或選取圖片並以二進位串流回傳給瀏覽器 (Content-Type: image/jpeg)。

核心技術

  • TWebResponse.ContentStream:指定回傳內容串流。
  • TJpegImage:載入 JPEG 檔並存入記憶體串流 (TMemoryStream)。
  • 設定 Response.ContentType := 'image/jpeg'。
  • 呼叫 Response.SendResponse 立即送出。

完整範例:隨機顯示三張圖片之一

var
  Jpg: TJpegImage;
  Stream: TMemoryStream;
  Idx: Integer;
begin
  Randomize;
  Idx := Random(3);  // 0,1,2

  Jpg := TJpegImage.Create;
  try
    Jpg.LoadFromFile('C:\WebShare\Scripts\test' + IntToStr(Idx) + '.jpg');

    Stream := TMemoryStream.Create;
    try
      Jpg.SaveToStream(Stream);
      Stream.Position := 0;

      Response.ContentType := 'image/jpeg';
      Response.ContentStream := Stream;
      Response.SendResponse;
    finally
      Stream.Free;
    end;
  finally
    Jpg.Free;
  end;
end;

部署注意事項

  1. 專案類型選擇 Web Server Application (ISAPI/NSAPI) 或 CGI Standalone。
  2. uses 子句必須包含 Jpeg 單元 (uses ..., Jpeg;)。
  3. 圖片實體檔需存在於伺服器可讀取路徑。
  4. IIS 需設定執行權限允許 ISAPI DLL 或 CGI EXE 執行。

擴充應用

  • 動態繪製圖表 (TChart)、驗證碼圖片、水印合成後直接串流輸出,無須暫存實體檔。
  • 搭配 TPageProducer 可在 HTML 模板中嵌入動態圖片標籤 (<img src="/isapi.dll/Chart?param=1">)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved