Webapi formdata upload (para DB) com parâmetros extras
Eu preciso fazer upload de arquivos para os parâmetros extras.
Eu encontrei o seguinte post no stackoverflow:Webapi ajax formdata upload com parâmetros extras
Ele descreve como fazer isso usando MultipartFormDataStreamProvider e salvando dados no servidor de arquivos. Eu não preciso salvar o arquivo para o servidor, mas para o banco de dados. E eu já estou trabalhando código usando MultipartMemoryStreamProvider, mas não usa parâmetro extra.
Você pode me dar dicas sobre como processar parágrafos extras no webapi?
Por exemplo, se eu adicionar arquivo e também testar o parâmetro:
data.append("myParameter", "test");
Aqui está o meu webapi que processa o upload de arquivo sem um parâmetro 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;
}