angular - 使用 Angular 7 发送 .net 核心照片和 json
问题描述
我正在使用 Angular 和 .net 内核,当我将照片发送到服务器端时,我看到照片是空白的。
我想同时发送json和文件数据,我需要bag
html文件中的表格
<form>
<div class="form-group">
<input
class="form-control mr-sm-2"
name="tournamentName"
[(ngModel)]="addItems.achievement_tournament"
required
type="text"
placeholder="Tournament Name"
/>
</div>
<div class="form-group">
<input type="file" [(ngModel)]="addItems.File" />
</div>
<button
class="btn btn-secondary my-2 my-sm-0"
[disabled]="!editForm.valid"
type="submit"
>
Save
</button>
</form>
Angular 7 模型
export class AchievementsAddEdit {
achievement_tournament:string;
File: File = null;
}
Angular 7 组件 ts
add(){
this.achievementsService.add(this.addItems,this.selectedFile);
}
成就服务 ts
add(item:AchievementsAddEdit,file){
console.log(file);
let formData: FormData = new FormData();
formData.append('File',file );
formData.append('achievement_tournament', item.achievement_tournament);
const options = {
headers: new HttpHeaders().set('enctype', 'multipart/form-data'),
};
this.httpClient.post(this.path + 'achievements/add',formData,options).subscribe(data=>{
//console.log(data);
}); }
.net 核心模型
public class AchievementsAddEdit
{
public System.DateTime achievement_date { get; set; }
public string achievement_place { get; set; }
public string achievement_tournament { get; set; }
public string achievement_prize { get; set; }
public int achievement_status { get; set; } = 1;
public IFormFile File { get; set; }
}
.net 核心控制器
[HttpPost]
[Route("add")]
public async Task<IActionResult> Add([FromForm]AchievementsAddEdit model)
{
if (_appRepository.IsThereDataForAchievements(model.achievement_tournament))
{
return BadRequest("There Is");
}
_appRepository.Add(model);
_appRepository.SaveAll();
return Ok(model);
}
解决方案
您需要从更改标题
const options = {
headers: new HttpHeaders().set('enctype', 'multipart/form-data'),
};
至
const options = {
headers: new HttpHeaders({ "Accept": "application/json" })
}
推荐阅读
- docker - 在 Makefile 中获取当前 UID
- r - 使用 for 循环按组创建时间序列
- laravel - Laravel 8 从有效负载中反序列化命令的问题(在失败的作业中)
- python - 使用 AbstractBaseUser 时,“instance = my_model(user=user)”抛出“my_model.user”必须是“用户”实例
- php - wp_schedule_single_event 挂钩未触发
- sapui5 - 使用 Jacob 识别多个 sap 窗口会话
- mapbox - 将点(或 PointLike)转换为 LngLat 对象
- javascript - 创建基于 Express 的服务器时未找到 server.html
- android - 使用 React Native 在 android 中选择 .png 图像时始终显示黑色背景
- python - CNN框不能超过原始图像尺寸错误