如何将angular属性绑定到上传的文件



我是angular的新手。

我正在向Web API控制器发布一个模型类。我有输入文件上传控件,在更改事件时,我将属性附加到文件。当我发布模型时,如何在服务器端绑定文件?

这是我的代码:

<input type="file" class="form-control" id="customFile"  (change)="onFileChange($event)"  [(ngModel)]="selectedObject.mJ_Icon"/>
onFileChange(evt:any): void {
console.log(evt.target.files[0]);
this.selectedObject.test = evt.target.files[0];
}

这是我的c类api核心

public class Project
{
public int Project_Pk { get; set; }
public string Project_Name { get; set; }
public string Project_En { get; set; }
public int Mj_ShowInHomePage { get; set; }
public int Activrec { get; set; }
public string MJ_Icon { get; set; }
public byte[] Test { get; set; }
}

当我发布代码时:

return this.http.post(UpdateProject_API ,JSON.stringify(project), httpOptions);

测试为空,

export class Project{
project_Pk: number;
project_Name: string;
project_En: string;
mj_ShowInHomePage: number;
activrec: number;
mJ_Icon: string;
test:any;

有什么原因吗?

您不能通过Json发送二进制数据。你必须

  1. 使用另一种内容类型,如";多部分/形式数据";。示例:教程
  2. 或者将图像(如果不是太大(转换为base64

最新更新