我正在使用.Net核心5和上传图像为我的商标。我使用Repository进行我的工作,并得到了错误的CS706:没有给出与控制器中的“Interface.Create(商标,IFormFile)”所需的形式参数“照片”相对应的参数。
_trademarkRepo.CreateNewTrademark(trademark);控制器
public IActionResult CreateTrademark(Trademark trademark)
{
if(ModelState.IsValid)
{
_trademarkRepo.CreateNewTrademark(trademark);
}
_logger.LogInformation("...");
return RedirectToAction("Index");
}回购
public bool CreateNewTrademark(Trademark trademark, IFormFile photo)
{
var path = Path.Combine(this._webHostEnvironment.WebRootPath, "trademarks", photo.FileName);
var stream = new FileStream(path, FileMode.Create);
photo.CopyToAsync(stream);
if(CheckExist(trademark.TrademarkName))
{
return false;
}
var newTrademark = new Trademark
{
TrademarkName = trademark.TrademarkName,
Description = trademark.Description,
Image = photo.FileName
};
_dbContext.Trademarks.Add(newTrademark);
_dbContext.SaveChanges();
return true;
}发布于 2021-07-06 03:38:19
从错误中可以明显看出什么是错误。
回购级别的
基本上,您的控制器应该如下所示。
public IActionResult CreateTrademark(Trademark trademark,IFromFile photo)
{
if(ModelState.IsValid)
{
_trademarkRepo.CreateNewTrademark(trademark,photo);
}
_logger.LogInformation("...");
return RedirectToAction("Index");
}注意:还有很多其他的依赖项,比如如何从UI中发布文件等等。这不是这个问题的范围,所以回答。你得去找那些细节。
https://stackoverflow.com/questions/68264134
复制相似问题