Usuário com melhor resposta
WebAPI

Pergunta
-
Respostas
-
Fábio,
Nesta thread do StackOverflow há um exemplo de método para receber arquivos na sua WebAPI: http://pt.stackoverflow.com/a/153255/58876
public Task<HttpResponseMessage> Post() { HttpRequestMessage request = Request; if (!request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } string root = System.Web.HttpContext.Current.Server.MapPath("~/Data/"); MultipartFormDataStreamProvider provider = new CustomMultipartFormDataStreamProvider(root); var task = request.Content.ReadAsMultipartAsync(provider); return task.ContinueWith(o => { return new HttpResponseMessage() { Content = new StringContent("File uploaded.") }; } ); } public class CustomMultipartFormDataStreamProvider : MultipartFormDataStreamProvider { public CustomMultipartFormDataStreamProvider(string path) : base(path) { } public override string GetLocalFileName(HttpContentHeaders headers) { return headers.ContentDisposition.FileName; } }
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".
Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
- Editado Juliano Nunes Silva Oliveira quinta-feira, 15 de dezembro de 2016 11:24
- Marcado como Resposta Fábio Freitas quinta-feira, 15 de dezembro de 2016 11:57
Todas as Respostas
-
Olá Fábio,
Segue as referências separadas de como fazer uma API com VB.NET e como trabalhar com XML no VB.NET
API: https://www.youtube.com/watch?v=O_Cb7xrOXk8
XML: http://www.macoratti.net/10/08/vbn_xml1.htm
Basta unir na sua aplicação.
Valeu!
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
André Secco
Microsoft MSP & MSDN Tech Advisor
Blog: http://andresecco.com.br
GitHub: http://github.com/andreluizsecco
Twitter: @andre_secco -
Olá André, obrigado pela atenção.
Acho que minha pergunta não foi boa, vamos lá, gostaria de criar uma WebAPI, a necessidade é que preciso que um sistema de terceiro, me enviei um XML para que eu guarde em meu servidor, quero criar esta possibilidade.
-
Fábio,
Nesta thread do StackOverflow há um exemplo de método para receber arquivos na sua WebAPI: http://pt.stackoverflow.com/a/153255/58876
public Task<HttpResponseMessage> Post() { HttpRequestMessage request = Request; if (!request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } string root = System.Web.HttpContext.Current.Server.MapPath("~/Data/"); MultipartFormDataStreamProvider provider = new CustomMultipartFormDataStreamProvider(root); var task = request.Content.ReadAsMultipartAsync(provider); return task.ContinueWith(o => { return new HttpResponseMessage() { Content = new StringContent("File uploaded.") }; } ); } public class CustomMultipartFormDataStreamProvider : MultipartFormDataStreamProvider { public CustomMultipartFormDataStreamProvider(string path) : base(path) { } public override string GetLocalFileName(HttpContentHeaders headers) { return headers.ContentDisposition.FileName; } }
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".
Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
- Editado Juliano Nunes Silva Oliveira quinta-feira, 15 de dezembro de 2016 11:24
- Marcado como Resposta Fábio Freitas quinta-feira, 15 de dezembro de 2016 11:57
-
-
Tente assim:
Return task.ContinueWith(Function(o) Return New HttpResponseMessage() With { _ Key .Content = New StringContent("File uploaded.") _ } End Function)
Referência: http://converter.telerik.com/
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".
Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
- Editado Juliano Nunes Silva Oliveira quinta-feira, 15 de dezembro de 2016 12:40
-
Não, apresenta a mensagem:
Error 1 Overload resolution failed because no accessible 'ContinueWith' can be called with these arguments:
'Public Function ContinueWith(Of TResult)(continuationFunction As System.Func(Of System.Threading.Tasks.Task, TResult)) As System.Threading.Tasks.Task(Of TResult)': Data type(s) of the type parameter(s) cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error.
Public Function ContinueWith(continuationAction As System.Action(Of System.Threading.Tasks.Task)) As System.Threading.Tasks.Task
'Public Function ContinueWith(Of TNewResult)(continuationFunction As System.Func(Of System.Threading.Tasks.Task(Of System.Net.Http.MultipartFormDataStreamProvider), TNewResult)) As System.Threading.Tasks.Task(Of TNewResult)': Data type(s) of the type parameter(s) cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error.
Public Function ContinueWith(continuationAction As System.Action(Of System.Threading.Tasks.Task(Of System.Net.Http.MultipartFormDataStreamProvider))) As System.Threading.Tasks.Task C:\Users\ffreitas\Documents\API\WebAPI\WebAPI\Controllers\Default1Controller.vb 48 14 WebAPI
-
Tente sem o parâmetro o:
Return task.ContinueWith(Function()
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".
Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
-
-
-
Bom dia Fábio Freitas,
Apresentou a mesma mensagem de erro?
Atenciosamente,
Robson William Silva
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
-
-
Olá Fábio,
Depois que você removeu a linha que o Juliano sugeriu, onde ocorre esse erro?
Robson William Silva
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
-
Bom dia,
Devido a falta de interação do autor dessa pergunta,
essa thread está sendo fechada. Caso o problema ainda
esteja ocorrendo, favor abrir uma nova thread.
Atenciosamente,
Robson William Silva
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.