Я работаю с ядром Angular и .net, и когда я отправляю фотографии на сервер, я вижу фотографию пустой.
Я хочу отправлять данные в формате json и файл одновременно, мне нужно добавить сумку
форма в 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>
Угловые 7 моделей
export class AchievementsAddEdit {
achievement_tournament:string;
File: File = null;
}
Угловые 7 компонентов, ц
add(){
this.achievementsService.add(this.addItems,this.selectedFile);
}
достиженияService 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 Core Controller
[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);
}
результат запроса