2012-08-05 48 views

回答

0

如果java返回的圖像是有效圖像,在PHP中你只需要使用header()函數來發送一個額外的頭,所以瀏覽器知道這是一個圖像,而不是普通的HTML。

E.g. (假設返回的圖像是JPEG格式):

header('Content-Type: image/jpeg'); 
readfile('path/to/yourimage.jpg'); 

http://php.net/manual/en/function.header.php

http://php.net/manual/en/function.readfile.php


的另一種方式可以與exec()函數來執行所述JAR文件。應該是這樣的:

header('Content-Type: image/jpeg'); 
exec('java -jar /path/to/file.jar', $output); 

http://php.net/manual/en/function.exec.php

1

我看到兩種可能性:

  1. 讓你的Java程序寫的圖像文件,可以通過你的Web服務器讀取的位置。然後,您必須將圖像創建和圖像檢索步驟分開。
  2. 如果你的Java程序可以寫入圖像到標準輸出,然後passthru()應該工作。要檢查這一點,首先手動調用Java程序和輸出保存到一個文件,並通過java your.jar > test.gif查看文件,例如。如果一切正常,使用PHP腳本開始:

    <?php 
        header('Content-Type: image/gif'); 
        passthru('java your.jar'); 
    ?> 
    

有可能會像有java可執行文件或JAR文件沒有訪問Web服務器的一些問題。如果是這樣,請嘗試使用絕對路徑。

相關問題