Я разрабатываю API, и у него есть два контроллера: PicturesController
и AccountController
.В PicturesController
есть метод, который возвращает изображение, и я хотел бы знать, как получить его URL.
В другом методе PicturesController
я получил URL, используя код ниже:
var url = Url.RouteUrl("GetPicture", new { id = picture.Id }, Request.Scheme);
Но мне нужно получить URL-адрес того же метода, однако из другого контроллера (AccountController
).
Я попробовал следующий код, но это приводит к нулю.
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");
}
...
}