UploadFileStream

The UploadFileStream 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 2. There is also an API for REST Version 1.

Parameters

Name In Required? Description
ido Path Yes This is the name of the IDO collection.
property Query Yes This is the name of the IDO property to be used for storing binary data.
itemid Query Yes This is the value of the _itemID property.

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 data is an unencoded binary stream of the file.

Response data

{
   "Message": null,
   "Success": true
}

Example

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

string json = string.Empty;
 
using ( HttpClient client = new HttpClient() )
{
   string ido = "UserNames";
   string property = "UserImage";
   string itemid = "PBT=[UserNames] UserNames.DT=[2019-05-29 14:12:02.000] UserNames.ID=[4d6cb1eb-e4fc-4e12-aae8-95ff1086ee8c]";
   string requestUrl = $"http://server/IDORequestService/ido/file/{ido}?property={property}&itemid={itemid}";
 
   // provide token in the Authorization header
   client.DefaultRequestHeaders.TryAddWithoutValidation(
      "Authorization",
      "b/XdI6IQzCviZOGJ0E+002DoKUFOPmVDkwpQDbQj…==" );
 
   // 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();
      json = result.Result;
   }
}