Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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
使用AngularJS的ASP.Net核心上载文件和记录_Angularjs_Asp.net Mvc_Asp.net Core_Asp.net Core Mvc_Iformfile - Fatal编程技术网

使用AngularJS的ASP.Net核心上载文件和记录

使用AngularJS的ASP.Net核心上载文件和记录,angularjs,asp.net-mvc,asp.net-core,asp.net-core-mvc,iformfile,Angularjs,Asp.net Mvc,Asp.net Core,Asp.net Core Mvc,Iformfile,我正在使用上传文件的新实现,这是一个文件。我创建了一个视图模型并将其映射到一个模型上,但是,我在视图模型的ImageFile属性上得到了一个空值。在插入记录时,我使用AngularJS来防止它重新加载。下面是我的视图和控制器 public string CreateNewProduct([FromBody] ProductViewModel _product) { var imgFile = _product.ImageFile; var fileNam

我正在使用上传文件的新实现,这是一个文件。我创建了一个视图模型并将其映射到一个模型上,但是,我在视图模型的ImageFile属性上得到了一个空值。在插入记录时,我使用AngularJS来防止它重新加载。下面是我的视图和控制器

public string CreateNewProduct([FromBody] ProductViewModel _product)
    {
        var imgFile = _product.ImageFile; 
        var fileName = ContentDispositionHeaderValue.Parse(imgFile.ContentDisposition).FileName.Trim('"');
        var targetDirectory = Path.Combine(environment.WebRootPath, string.Format("Common\\Images\\"));
        var savePath = Path.Combine(targetDirectory, fileName);
        imgFile.CopyTo(new FileStream(savePath, FileMode.Create));

        Products product = new Products
        {
            ItemCode = _product.ItemCode,
            FileName = fileName,
            FilePath = savePath
        };

        context.Products.Add(product);
        context.SaveChanges();

        return "";
    }
这是我在对话框中的视图

<div class="modal" role="dialog" id="addItemDialog">
<div class="modal-dialog">
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">&times;</button>
            <h3 class="text-info">Add New Item</h3>
        </div>
        <div class="modal-body">
            <form id="newproductform" class="form-horizontal" role="form" enctype="multipart/form-data">

                <div class="form-group">
                    <span class="col-sm-3 control-label">Item Code</span>
                    <div class="col-sm-6">
                        <input type="text" class="form-control input-sm" ng-model="ItemCode" />
                    </div>
                </div>

                <div class="form-group">
                    <span class="col-sm-3 control-label">Image</span>
                    <input type="file" name="file" accept="image/*" onchange="angular.element(this).scope().selectFileforUpload(this.files)" required />
                    <span class="error" ng-show="(f1.file.$dirty || IsFormSubmitted) && f1.file.$error.required">Image required!</span>
                </div>
            </form>
        </div>
        <div class="modal-footer">
            <button type="submit" class="btn btn-success" ng-click="InsertProduct()">Submit</button>
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
    </div>
</div>

嗨,你找到这个问题的解决方案了吗?您是否尝试删除操作参数的[FromBody]属性并尝试发布?您好,您找到解决此问题的方法了吗?您是否尝试删除操作参数的[FromBody]属性并尝试过帐?
    public class ProductViewModel
{
    public string ItemCode { get; set; }
    //[FileExtensions(Extensions = "jpg/jpeg")]
    public IFormFile ImageFile { get; set; } 
}