我尝试上传图片,但是var root始终为空...
NullReferenceException:对象引用未设置为对象的实例。
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create([Bind("Vinhoid,Nome,Ano,Teoralcool,Produtorid,Tipoid,Regiaoid,Datacriacao,Localimagem,Garrafid,Descricao,Preco,Stock")] VinhoDistribuicao vinhoDistribuicao, IFormFile Localimagem)
{
if (HttpContext.Session.GetString("TipoUtilizador") == "Garrafeira")
{
if (ModelState.IsValid)
{
if (_context.Vinho.Any(x => x.Ano == vinhoDistribuicao.Ano && x.Nome == vinhoDistribuicao.Nome && x.Tipoid == vinhoDistribuicao.Tipoid) == false)
{
var caminho = Path.Combine(he.WebRootPath + "/ImageFiles",
Path.GetFileName(Localimagem.FileName));
FileStream fileStream = new FileStream(caminho, FileMode.Create);
Localimagem.CopyTo(fileStream);
fileStream.Close();
HTML
@model Lab4_Vinhos6.Models.VinhoDistribuicao
<div class="form-group">
<label asp-for="Localimagem" class="control-label"></label>
<input asp-for="Localimagem" type="file" accept=".png, .jpg" class="form-control" value="" />
<span asp-validation-for="Localimagem" class="text-danger"></span>
</div>
NullReferenceException:对象引用未设置为对象的实例。
var caminho = Path.Combine(he.WebRootPath + "/ImageFiles",
答案 0 :(得分:0)
确保wwwroot中有ImageFiles
文件夹。然后尝试使用以下代码
var caminho = Path.Combine(he.WebRootPath, "ImageFiles",Path.GetFileName(Localimagem.FileName));