[Mapserver-users] Sending image to stdout under Apache
Jason Thaxter
jason at gomoos.org
Wed Mar 5 09:44:23 PST 2003
I checked our script when NOT run under mod_perl, and it works fine. That's a
better workaround for us than print/cat, since we have one script that does
all the UI work, and a short one that generates the image output.
The problem I've identified, precisely, is that with the API you can write to
a filename or stdout. But writing to the "real" stdout doesn't work under
mod_perl, since perl STDOUT is no longer the same as C stdout. You can't
pass a file handle; the choice with the current API is a filename, or nothing
for stdout...
What we really want is something like what can be done with the perl GD
interface, e.g:
print $img->png;
or even
$img->printImage(\*STDOUT,args..);
Passing a filehandle as opposed to a string containing a filename isn't the
craziest thing... OTOH, there might be a quicker way to get this accomplished
with some select() trickery... Or we might have to resort to writing an
actual module, instead of writing Apache::Registry stuff... We'll post our
solution if we get anything better than what we have.
JT
On Wed, Mar 05, 2003 at 10:57:23AM +0000, Eric Bridger wrote:
> Thanks Lowell,
>
> Yes, that was the work-around I mentioned. But avoiding the write to
> disk is what I am after. I have found that using /cgi-bin/mapserv as an
> image engine results in significant performance improvements for our
> mapscript application. But constructing the proper query strings to
> manipulate the map is cumbersome and seems to have certain limitations.
> I'd prefer to manipulate the map using mapscript and then print it to
> the stdout. But somehow, using $img->saveImage(undef, ...) which spends
> some time doing something, never sends the image to the stdout when run
> as a CGI. From the command line, it works.
>
> We don't have this problem with a graphing application in the same
> environment which uses GD.pm.
>
>
> On Wed, 2003-03-05 at 15:27, Lowell Filak wrote:
> > Hmmm...
> > I thought I replied back concerning that.?
> > Just do a:
> > print "Content-type: image/png\n\n";
> > system("cat junk.png");
> > and that will send the image to stdout/the browser.
> > HTH
> > Lowell F.
> >
--
----------------------------------------------
Jason Thaxter
GoMOOS, P.O. Box 4919, Portland, ME 04112-4919
Office Location: 1 Canal Plaza, 7th Floor
Office: 207.773.0423
Fax: 207.773.8672
Email: thaxter at gomoos.org
------------www.gomoos.org--------------------
More information about the MapServer-users
mailing list