At 6:49 pm -1000 6/4/04, Sannyasin Sivakatirswami wrote:

Simply stated: the CGI accepts incoming data from a POST and writes
it to a file sometimes and sometimes it says it can't open the file.
No pattern...

CONTEXT:

<snip>

the CGI (truncated a bit for email purposes:) goes like this:


on startup

if $REQUEST_METHOD is "POST" then
read from stdin until empty
  put  urlDecode (it)  into tDataIn
    split tDataIn by "&" and "="
    put tDataIn["_remotestaff"] into tUser
    put tDataIn["_project"] into tProject
     put tDataIn["_transcript"] into tTranscript
     put tDataIn["_fileName"] into tfileName
put url "file:transcriptionTeam.txt" into tAuthenticate
if  (tUser is among the lines of tAuthenticate) then
 # set up a file path to the incoming transcription
 # it will just be a small xml file
  switch tProject
 case "taka"
 put "/taka/New-Not Yet Posted/" into tLocalDestination
 break
  case "gita"
 put "/gita/new_incoming/" into tLocalDestination
 break
 end switch
 put ("../remote-team/" & tUser & tLocalDestination & tFileName)
into tFilePath

 # next: open, write data and close the file
## !! but here is the problem:
## this attempt to write a file fails intermittently...
# sometimes apache writes the file
# other times it returns "can't open file" to the result

put tTranscript into url ("file:" & tFilePath) ## fails intermittently

put the Result & cr & cr into tResponse # sometimes empty some times
"can't open file"

## send stuff back to the user to confirm, along with the result

end start up

What is happening is when then the user clicks the button in the
remote rev app, to trigger the upload to Kauai it may return result:
"can't open file" then he clicks again  and this time gets no result
and the file is written.

One thing you might want to check first is that the CGI is reading in all the data.


  repeat while length(tDatain) >= $CONTENT_LENGTH
    read from stdin for $CONTENT_LENGTH
    put it after tDatain
  end repeat

I can't say for sure, but looking quickly at your code, it seems you might get the error you described if the tUser variable was in fact empty and the tAuthenticate variable contained an empty line. You could check this by returning tFilePath when you get an error to see if the file path is the one you expect.

Cheers
Dave
_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to