I need to store a user id, along side several picture uploads all in a relational database. My solution for storing the pictures would be to save the pictures locally on appian and save the document ids on the database alongside the user id. However, with the way I have it implemented right now it seems I cannot pass in the user id into the body alongside the picture upload as it takes up the entire body. I also cannot attach several pictures for upload. I need a way to be able to pass in the user id and atleast 3 pictures into the body to be saved in the database.
Discussion posts and replies are publicly visible
This doesn't tell us anything about how you have written the code. Do you mind attaching the code snippet so I can understand better why you cannot do things you said you cannot do?
a!localVariables( /*Check whether the request body contains a document*/ local!success: not(isnull(http!request.body)), if( local!success, /*If a document was uploaded, return a successful response*/ a!httpResponse( statusCode: 200, headers: {}, /*Print the document id, name, and extension of the uploaded document*/ body: concat( "Upload Successful: ", document(http!request.body, "id"), " - ", document(http!request.body, "name"), ".", document(http!request.body, "extension") ) ), /*If no document was uploaded, return an error code*/ a!httpResponse( statusCode: 400, headers: {}, body: "400 Document Not Provided" ) ) )
Seems like you are talking about implementing a web API, correct?
AFAIK, a web API only accepts a single file. The user ID could be passed as a query parameter or a header.
https://docs.appian.com/suite/help/23.4/passing-a-web-api-document-into-a-process-model.html
For better readability..
Is there no way to pass in the user id in the body and the ability to send several pictures aswell?
You can construct your request body like this.
{ userId: 2, documents: todocument({7585,7538}) }
That works for outgoing calls (integrations) only.
But the documents do not already exist on the appian server, I need to retrieve them from the from an outside source as images.
The documentation (https://docs.appian.com/suite/help/23.4/Web_APIs.html#http-methods) says:
Additionally, web APIs with the POST, PUT, or PATCH method can be used to upload a document to Appian and download a document from Appian a binary request body. The size of this document is limited to 75 MB.
Document is in singular. But, that could also be a ZIP file containing multiple files.