First off a warning, I'm rather new at this myself<g>.
However with that said, what I have done to accomplish this is to use something like the following in the WebHandler Rename method:
! Rename UPLOAD FILE
! RenameFile PROCEDURE(STRING p_name,STRING p_filename,<String p_path>)
!----------------------------------------------------------------------
! Set target based on source
!----------------------------------------------------------------------
CASE LOWER(p_Name)
OF 'filemanageruploadname'
!------------------------------------------------------------------
! FileManager Upload
!------------------------------------------------------------------
NewPath = GLO:WebPath & '\' & Self.GSV('CT:FilesLoc')
self.site.UploadsPath = NewPath
p_filename = self.GSV('CT:SaveFileName')
END
In the GenerateForm of the procedure that contains the upload field, I set the Session Variable "CT:FilesLoc" to where I want the file to be stored relative to the "Web" folder. Then in the above code I retrieve that value and prefix it with the path to the Web Folder in order to get a full qualified file path. A separate session variable contains the name as I want it to be stored, in this case the variable is "CT:SaveFileName".
Since I have multiple locations that might upload a file, I make sure each one has a unique name for the upload field as well as unique session variables for passing information.
So far this seems to be working for me but maybe someone else has a better approach.
Barton