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.
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:
|
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;
}
}