Загрузка форм-данных Webapi (в БД) с дополнительными параметрами
Мне нужно загрузить файл, отправив дополнительные параметры.
Я нашел следующий пост в stackoverflow:Загрузка форм-данных ajax в Webapi с дополнительными параметрами
В нем описывается, как сделать это с помощью MultipartFormDataStreamProvider и сохранить данные на файловом сервере. Мне не нужно сохранять файл на сервер, а вместо этого в БД. И у меня уже есть рабочий код с использованием MultipartMemoryStreamProvider, но это неиспользовать дополнительный параметр.
Можете ли вы дать мне подсказки, как обрабатывать дополнительные параметры в webapi?
Например, если я добавлю файл, а также протестировать параметр:
data.append("myParameter", "test");
Вот мой webapi, который обрабатывает загрузку файлов без дополнительных параметров:
if (Request.Content.IsMimeMultipartContent())
{
var streamProvider = new MultipartMemoryStreamProvider();
var task = Request.Content.ReadAsMultipartAsync(streamProvider).ContinueWith(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;
}