Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 将文件从视图上载到.net Core中的控制器_Asp.net Mvc_Asp.net Core_.net Core_File Upload - Fatal编程技术网

Asp.net mvc 将文件从视图上载到.net Core中的控制器

Asp.net mvc 将文件从视图上载到.net Core中的控制器,asp.net-mvc,asp.net-core,.net-core,file-upload,Asp.net Mvc,Asp.net Core,.net Core,File Upload,我正在尝试创建一个带有文件上载的.net核心项目 在这个模型中,我有一个类名“Movie”,它有两个属性:类型为byte[]的Image和类型为IFormFile的Picture 在视图中,我添加了一个带有输入的表单: 在我的控制器中,我有这样一个功能: public-IActionResult-NewMovie(电影电影){… 在传递的电影对象中,属性图像和图片始终为空 我尝试将asp从图像更改为图片,将函数更改为Task类型,将IFormFile添加到函数调用中,但没有任何帮助 我一直无法

我正在尝试创建一个带有文件上载的.net核心项目

在这个模型中,我有一个类名“Movie”,它有两个属性:类型为byte[]的Image和类型为IFormFile的Picture

在视图中,我添加了一个带有输入的表单:

在我的控制器中,我有这样一个功能:

public-IActionResult-NewMovie(电影电影){…

在传递的电影对象中,属性图像和图片始终为空

我尝试将asp从图像更改为图片,将函数更改为Task类型,将IFormFile添加到函数调用中,但没有任何帮助

我一直无法获取文件的数据。我需要它的类型为byte[],但我会采取任何措施来帮助我


提前谢谢大家。

您不需要将图像存储在字节数组中您的模型只需要一个
格式文件
,如下所示:

型号:

[Required(ErrorMessage = "The {0} field is required")]
[Display(Name = "Image")]
[DataType(DataType.Upload)]
public IFormFile Image { get; set; }
控制器:

if (model.Image == null)
   return View(model);

    string uploadsFolder = Path.Combine(webHostEnvironment.WebRootPath,"Your upload path");
    string ImagePath = Guid.NewGuid().ToString() + "_" + model.Image.FileName;
    string filePath = Path.Combine(uploadsFolder, ImagePath);
    using (FileStream fs = new FileStream(filePath, FileMode.Create))
    {
        await model.Image.CopyToAsync(fs);
    }
将此添加到您的
表单
标记:
enctype=“多部分/表单数据”
。 它对于提交
type=“file”
输入至关重要

视图:


选择文件
最后,将
ImagePath
仅保存在db实体中

<form enctype="multipart/form-data" Other attributes...>
  <div class="custom-file">
   <input asp-for="Model.Image" type="file" class="custom-file-input fileUpload" />
   <label class="custom-file-label fileLabel">Choose file</label>
  </div>
  <input type="submit" value="Submit" />
</form>