【发布时间】:2019-06-27 14:01:15
【问题描述】:
我正在开发一个 API,它有两个控制器:PicturesController 和 AccountController。 PicturesController 上有一个返回图像的方法,我想知道如何获取它的 URL。
在另一个 PicturesController 方法中,我使用下面的代码获得了 URL:
var url = Url.RouteUrl("GetPicture", new { id = picture.Id }, Request.Scheme);
但我需要从另一个控制器 (AccountController) 获取相同方法的 URL。
我尝试了以下代码,但结果为空。
var url = Url.Action("GetPicture", "PicturesController", new { id = picture.Id }, Request.Scheme);
就是这样:
public class PicturesController : Controller
{
...
// GET api/pictures/id
[HttpGet("{id}", Name = "GetPicture")]
public async Task<ActionResult> Get(Guid id)
{
var picture = await _context.Pictures.FirstOrDefaultAsync(p => p.IsActive() && p.Id == id);
if (picture == null)
return NotFound();
return File(picture.PictureImage, "image/jpg");
}
...
}
【问题讨论】:
-
您的代码显示为
GetPicture,但该操作称为Get
标签: c# asp.net-web-api .net-core