Web Api 2 – Come restituire un’immagine (MemoryStream da Archiviazione di Azure) da un HTTPGET senza salvare su disco?

Sto usando Web Api 2 con C # e Azure, e ho problemi con come restituire l’immagine (base da Memorystream) per la visualizzazione sulla pagina …

Ecco il mio Controller HTTPGET

[Route("api/PhotoSubmit/GetPhoto/{id}")] [HttpGet] public HttpResponseMessage GetPhotoById(int id) { StorageServices storage = new StorageServices(); MemoryStream ms = storage.DownloadBlob(id); // return what ? } 

Ecco l’inizio del servizio di assistenza:

 $http({ method: 'GET', url: 'api/PhotoSubmit/GetPhoto/' + $routeParams.id, accept: 'application/json' }) .success(function(result) { // How do i handle the result and what HTML should i use ? <img ? }); 

Dal lato client non è necessario utilizzare $ http. Puoi semplificare il processo usando il semplice vecchio HTML …

  

Per le immagini dinamiche usa JQuery come questo …

 $('#ImageLocation').html(''); 

Il browser Web eseguirà automaticamente il lavoro di creazione di una richiesta HTTP per l’immagine, risparmiandoti tutta la complessità.

Sul lato server, è ansible utilizzare un processo come questi per caricare il file e trasmetterlo al client. È importante che il codice server restituisca il tipo MIME corretto come …

 context.Response.ContentType = "image/png"; 

risorse:

API Web ASP .Net scaricare le immagini come binari

…e…

Visualizza l’immagine usando ashx Handler