Hello All,
I have a scenario in which i want to upload the file stream from client side (I am using AngularJS) to the Web Api in asp .net via JSON object.
So there will be some fields in JSON object in which one field is file stream.
How do i create a JSON object and send it to the web api which get model bind at api side to my model.
$scope.fileUploadData = {
TextId: 304765,
DocumentId: 0,
PatientId: 166158,
file:
}
public ApiActionResult CreateDocument(DocumentVM model)
{
}
public class DocumentVM
{
long TextId;
long DocumentId;
long PatientId;
Stream file;
}
Please provide me the sample code snippets how to achieve it.
What I have tried:
I googled lots but i found the solutions like using multipart form data. In which JSON and file stream appended and then send it to the web api. I used following logic to extract the multi part form data.
public async Task<ApiActionResult> CreateDocument()
{
MultipartFormDataStreamProvider provider =
new MultipartFormDataStreamProvider(Path.GetTempPath());
var result = await Request.Content.ReadAsMultipartAsync(provider);
var model= result.FormData["Metadata"];
var fileData = result.FileData;
}