Webapi formdata upload (a DB) con parámetros extra
Necesito subir archivos enviando parámetros extra.
He encontrado la siguiente publicación en stackoverflow:Webapi ajax formdata carga con parámetros extra
Describe cómo hacer esto utilizando MultipartFormDataStreamProvider y guardando datos en el servidor de archivos. No necesito guardar el archivo en el servidor, sino en DB. Y ya tengo código de trabajo con MultipartMemoryStreamProvider, pero no usa un parámetro adicional.
¿Me puede dar pistas sobre cómo procesar parámetros adicionales en webapi?
Por ejemplo, si agrego un archivo y también pruebo paramater:
data.append("myParameter", "test");
Aquí está mi webapi que procesa fileupload sin paramater extra:
if (Request.Content.IsMimeMultipartContent())
{
var streamProvider = new MultipartMemoryStreamProvider();
var task = Request.Content.ReadAsMultipartAsync(streamProvider).ContinueWith<IEnumerable<FileModel>>(t =>
{
if (t.IsFaulted || t.IsCanceled)
{
throw new HttpResponseException(HttpStatusCode.InternalServerError);
}
_fleDataService = new FileDataBLL();
FileData fle;
var fleInfo = streamProvider.Contents.Select(i => {
fle = new FileData();
fle.FileName = i.Headers.ContentDisposition.FileName;
var contentTest = i.ReadAsByteArrayAsync();
contentTest.Wait();
if (contentTest.Result != null)
{
fle.FileContent = contentTest.Result;
}
// get extra parameters here ??????
_fleDataService.Save(fle);
return new FileModel(i.Headers.ContentDisposition.FileName, 1024); //todo
});
return fleInfo;
});
return task;
}