これは回答済みとしてマークされていますが、私が望んでいたものではなかったので、探し続けました. 私がそれを理解したので、ここに私が持っているものがあります:
public FileContentResult GetFile(string id)
{
byte[] fileContents;
using (MemoryStream memoryStream = new MemoryStream())
{
using (Bitmap image = new Bitmap(WebRequest.Create(myURL).GetResponse().GetResponseStream()))
image.Save(memoryStream, ImageFormat.Jpeg);
fileContents = memoryStream.ToArray();
}
return new FileContentResult(fileContents, "image/jpg");
}
確かに、これは URL から画像を取得するためのものです。ファイルサーバーから画像を取得したいだけなら、次の行を置き換えると思います:
using (Bitmap image = new Bitmap(WebRequest.Create(myURL).GetResponse().GetResponseStream()))
これとともに:
using (Bitmap image = new Bitmap(myFilePath))
編集: 気にしないでください。これは通常の MVC 用です。Web APIの場合、私はこれを持っています:
public HttpResponseMessage Get(string id)
{
string fileName = string.Format("{0}.jpg", id);
if (!FileProvider.Exists(fileName))
throw new HttpResponseException(HttpStatusCode.NotFound);
FileStream fileStream = FileProvider.Open(fileName);
HttpResponseMessage response = new HttpResponseMessage { Content = new StreamContent(fileStream) };
response.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpg");
response.Content.Headers.ContentLength = FileProvider.GetLength(fileName);
return response;
}
これは、OPが持っているものと非常に似ています。