Sér*_*eno 5 c# asp.net-web-api .net-core
我正在开发一个 API,它有两个控制器:PicturesController和AccountController。有一个方法PicturesController可以返回图像,我想知道如何获取它的 URL。
在另一种PicturesController方法中,我使用以下代码获取了 URL:
var url = Url.RouteUrl("GetPicture", new { id = picture.Id }, Request.Scheme);
Run Code Online (Sandbox Code Playgroud)
但我需要从另一个控制器 ( ) 获取相同方法的 URL AccountController。
我尝试了以下代码,但结果为空。
var url = Url.Action("GetPicture", "PicturesController", new { id = picture.Id }, Request.Scheme);
Run Code Online (Sandbox Code Playgroud)
这就是方法:
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");
}
...
}
Run Code Online (Sandbox Code Playgroud)
问题是您GetPicture在这段代码中使用:
var url = Url.Action("GetPicture", "PicturesController", new { id = picture.Id }, Request.Scheme);
Run Code Online (Sandbox Code Playgroud)
第一个参数是操作Url.Action的名称,在您的情况下是,所以它应该是Get
var url = Url.Action("Get", "PicturesController", new { id = picture.Id }, Request.Scheme);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5690 次 |
| 最近记录: |