私はRApacheでR環境を使用するWebアプリケーションに取り組んでいます。AJAX.updater関数を使用していくつかの変数をRスクリプトに送信すると、ブラウザーにResponseTextが返され表示されます。問題はありませんが、グラフをプロットするRスクリプトに変数を送信してから、画像をブラウザに返したいと思います。
たとえば、そのスクリプトを使用して、Rによってプロットされた画像をブラウザに表示できます。
<% setContentType("image/png")
t <- tempfile()
load(file="/var/www/oraculo/brew/ICER")
png(t, width=3.25, height=3.25, units="in", res=1200, pointsize=4)
plot(G,vertex.size=1,vertex.label=NA)
dev.off()
sendBin(**readBin**(t,'raw',n=file.info(t)$size))
unlink(t)
DONE
%>
そして、変数を送信してテキスト文字列を返す他のスクリプト:
new Ajax.Updater( 'numFermin', '../brew/shortestPath.rhtml',
{
'method': 'GET',
'parameters': {'autini': autini, 'autfin':centro, 'XarXaj': red},
'onSuccess': function(transport) {
txtRespuesta = transport.responseText;
if (txtRespuesta.lastIndexOf("Error")==-1){
var rutaMin = transport.**responseText**;
var accion = "";
var url = "index.src.php?accion=obtener&rutaMin="+rutaMin+"&numF=1";
document.getElementById("oculto1").src=url;
}else{
...
RApacheのGET変数を使用すると、Rスクリプトの「autini」を操作できます。
考えられる解決策の1つは、画像をファイルに保存することですが、私はそれがあまり好きではありません。「 readbin 」で読み取ったビットストリームを「responseText」に入れて、phpで画像を作成する方法はありますか?AJAXのWich関数を使用する必要がありますか?
御時間ありがとうございます!