If you want to upload a file into the content server from your module, you can use something like this
function Assoc UploadFile(Record r, Integer FolderID, String fieldName) Dynamic retNodeID = -1 DAPINODE docNode // Get the ATTACHMENT_FOLDER node and set some options. // ParentID = 2000 (Enterprise) Object prgSession = .PrgSession() Object session = prgSession.DSession() DAPINODE nodeFolder= DAPI.GetNodeByID(session.fSession,DAPI.BY_DATAID,FolderID,False ) // Make the node name from the file and eventID. It has to be unique, so // check it, and append a number if necessary. String fname=$WebDoc.WebDocUtils.GetFileUploadName(r,fieldName) Assoc retUniq String sTmp=fname Integer cnt=0 retUniq=$LLIApi.NodeUtil.IsNameUnique(sTmp,nodeFolder) while !(retUniq.OK) cnt+=1 sTmp=fname+"_"+Str.ValueToString(cnt) retUniq=$LLIApi.NodeUtil.IsNameUnique(sTmp,nodeFolder) end fname=sTmp // Upload the document as a new node. Assoc result = $WebDoc.WebDocUtils.CreateFileUploadDocument(nodeFolder,r,fieldName,fname) return(result) end
First, the folder ID is used to get the DAPINODE of the parent folder. The node name must be unique, so a check is necessary to ensure, that the intended nodename is not existing.
Then the file is uploaded.
Remark: This function does not consider mandatory categories, which must be added at upload time.