Upload File Stream

The Upload File Stream API uploads a streamed file to an IDO collection. The IDO collection must have a property for storing binary data.
UploadFileStream
Note: This topic is for REST Version 1. There is also an API for REST Version 2.

Parameters

Name In Required? Description
responsetype Path Yes Response request data format: Supply any of these values:
  • xml
  • json

Headers

Name Description
Authorization If the API is called directly, then a Mongoose security token is obtained through a call to the GetSecurityToken API.

If the API is called through ION API, then a valid OAuth2.0 bearer token is provided by ION API.

X-Infor-MongooseConfig This is the name of a configuration that is available on the application server. This is required only when using the Mongoose API through the ION API.
X-IdoName This is the name of the IDO collection.
X-Property This is the name of the IDO property.
X-RowPointer This is the value of the IDO row pointer.

Request data

The request object is an unencoded binary stream from a file.

Response data in XML format

<MGRestIOResponse>
  <Success>true</Success>
  <Message>
    Initializing file save;
    Updating BLOB to IDO;
    Updated item count: 1;
    Upload complete;
  </Message>
  <MessageCode>700</MessageCode>
</MGRestIOResponse>

Response data in JSON format

{
   "Message": "\"Initializing file save",
   "Updating" "BLOB",
   "to" "IDO",
   "Updated" "item",
   "count": 1,
   "Upload" "complete\",",
   "MessageCode": 700,
   "Success": true
}

Example

This example code uploads a user image to the users table.

string xml = string.Empty;
 
using ( HttpClient client = new HttpClient() )
{
   // optionally, you can use json as the response type
   string requestUrl = $"http://server/IDORequestService/MGRESTService.svc/io/xml/uploadfile";
 
   // provide token in the Authorization header
   client.DefaultRequestHeaders.TryAddWithoutValidation(
      "Authorization",
      "b/XdI6IQzCviZOGJ0E+002DoKUFOPmVDkwpQDbQj…==" );
 
   client.DefaultRequestHeaders.Add( "X-IdoName", "UserNames" );
   client.DefaultRequestHeaders.Add( "X-Property", "UserImage" );
   client.DefaultRequestHeaders.Add( "X-RowPointer", "2807a627-577b-462e-9494-aee568152c54" );
 
   // select an image or a file and include it as the request payload
   OpenFileDialog dialog = new OpenFileDialog();
   byte[] file = new byte[] { };
 
   if ( dialog.ShowDialog() == DialogResult.OK )
   {
      file = File.ReadAllBytes( dialog.FileName );
   }
 
   // pass the file as the request data and send the post request
   HttpResponseMessage response = client.PostAsync( requestUrl, new ByteArrayContent( file ) ).Result;
 
   using ( HttpContent content = response.Content )
   {
      Task<string> result = content.ReadAsStringAsync();
      xml = result.Result;
   }
}