Ho una funzione accessibile tramite la mia API REST, configurata con ASP.NET Web API 2.1, che dovrebbe restituire un'immagine al chiamante. A scopo di test, ho appena restituito un'immagine di esempio che ho memorizzato sul mio computer locale in questo momento. Ecco il metodo:Perché il mio file non viene restituito da una richiesta GET dalla funzione API Web?
public IHttpActionResult GetImage()
{
FileStream fileStream = new FileStream("C:/img/hello.jpg", FileMode.Open);
HttpContent content = new StreamContent(fileStream);
content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("image/jpeg");
content.Headers.ContentLength = fileStream.Length;
return Ok(content);
}
Quando viene chiamato questo metodo, non riesco affatto a ottenere un'immagine. Ecco la risposta che sto ricevendo:
{"Intestazioni": [{"Chiave": "Tipo di contenuto", "Valore": ["immagine/jpeg"]}, {"Chiave": " Content-Length "," Value ": [" 30399 "]}]}
Perché non riesco a recuperare i dati dell'immagine come parte della richiesta? Come può essere risolto?
perché non possono fornire solo questo fuori dalla scatola ?! – Greg
È necessario 'Task.Run'? Non sarà sufficiente "Task.FromResult"? – Athari
@Squidward Mentre Task.FromResult dovrebbe funzionare, credo che Task.Run potrebbe essere leggermente più vantaggioso in questo caso poiché consentirebbe la lettura del file in un'attività separata. Task.Run accetta anche la cancellazioneToken quindi potrebbero esserci dei benefici anche lì. – Scott