Ho il seguente metodo Web API in una classe ApiController:ottenere i dati grezzi da POST metodo Web API
public HttpResponseMessage Post([FromBody]byte[] incomingData)
{
...
}
voglio incomingData
ad essere il contenuto grezzo del POST. Ma sembra che lo stack API Web tenta di analizzare i dati in arrivo con il formattatore JSON, e questo fa sì che il seguente codice sul lato client a fallire:
new WebClient().UploadData("http://localhost:15134/api/Foo", new byte[] { 1, 2, 3 });
C'è una soluzione semplice per questo?
avevo bisogno di qualcosa di simile, ma per le stringhe, e garantire che vi era alcun parametro nel metodo POST finito per essere essenziale per usando l'equivalente 'ReadAsStringAsync', era vuoto altrimenti. –
Questo è il modo più semplice per farlo che ho trovato. I nostri partner continuano ad aggiungere nuovi campi non documentati che vogliono che usiamo e non sappiamo mai esattamente come vengono scritti/formattati. Grazie! – MvcCmsJon
Grazie per questo. In MVC6 per ottenere tutto il corpo, ho dovuto rimuovere i parametri e leggere 'Request.Body' manualmente. – joe