According to the API of CGI.pm, it should return a path in /var/tmp/.
Where does this information come from? Last time I looked, CGI.pm tried a hardcoded list of various locations: Re: On uploading a file, and I see no changes to that code in 3.59.
The documentation is very clear on temp directory selection:
The temporary directory is selected using the following algorithm: 1. if $CGITempFile::TMPDIRECTORY is already set, use that 2. if the environment variable TMPDIR exists, use the location indicated. 3. Otherwise try the locations /usr/tmp, /var/tmp, C:\temp, /tmp, /temp, ::Temporary Items, and \WWW_ROOT.
Any hints? Is there a facility in FCGI I am overseeing that tells me the upload temp file location?
Yes. Don't rely on any specific location. CGI.pm offers you a filehandle for each uploaded file (returned by the upload() method), and you are expected to read from that handle. Depending on the settings of CGI.pm (-private_tempfiles pragma), the file may have been unlinked before your program receives the handle, so the temp file no longer has a name. See also http://search.cpan.org/~markstos/CGI.pm-3.59/lib/CGI.pm#PROCESSING_A_FILE_UPLOAD_FIELD.
Alexander
In reply to Re: CGI's tmpFileName does not work under CGI::Fast
by afoken
in thread CGI's tmpFileName does not work under CGI::Fast
by isync
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |