如何使用WEBAPI从我的服务器返回图像URL

时间:2016-11-18 14:57:27

标签: c# asp.net-web-api

我有一个本地的jpg文件(“C:\ Life \ Banners \ 1.jpg”) 如何返回此文件的可访问URL?例如: -
http://MyServer/Banners/1.jpg

我尝试使用以下内容:

HostingEnvironment.MapPath("~/Images/HT.jpg");
HostingEnvironment.MapPath("C:\Life\Banners\1.jpg");

但是它们都返回null

我的WebAPI控制器如下所示:

namespace WebServiceAPI
{
    [EnableCors(origins: "*", headers: "*", methods: "*")]
    [RoutePrefix("api/Banner")]
    public class BannerController : ApiController
    {
        [Route("GetBanner")]
        [HttpGet]
        public Banner GetBanner()
        {
            return BannerBL.GetBanner();
        }
    }
}

public class Banner
    {
        public int bannerId;
        public string url;
        public string icon;
        public string link;
    }

1 个答案:

答案 0 :(得分:0)

MVC操作方法应始终返回df1 <- df[do.call(order, df[1:2]), ] rep(df1$values[c(TRUE, FALSE)] > df1$values[c(FALSE, TRUE)], each = 2) 类型或其子类之一。
您的类ActionResult不是这样的子类,它是MVC不能用来创建Web响应的类型的对象。

这应该有效(把它放在例如MyApiController.cs中):

Banner

然后URL将是:

[HttpGet]
public ActionResult GetBanner()
{
    var path = @"C:\Life\Banners\1.jpg";  // The @ allows us to use single backslashes
    return File(path, "image/jpeg");      // This returns a FileResult object
}

一旦你开始工作,你可以尝试将它与你的Banner类集成。