Aurelia Загрузить файлы, DotNet Core, IFormFIleCollection null, Post Web Api
Задача: Разработать простую форму для загрузки файлов. Должны принимать разные типы файлов, такие как: jpg, pdf, doc, png.
До сих пор я безуспешно пробовал большинство предложений, которые я нашел актуальными в других сообщениях.
Если я не включаю тип содержимого в заголовок, возвращает 415.
Не могли бы вы помочь мне, заметив, что я делаю неправильно?
HTML просмотр
<template>
<router-view>
<input type="file"
value.bind="files"
id="files"
multiple />
<input type="submit"
click.delegate="send()" />
</router-view>>
</template>
Вот мой класс машинописи
import { HttpClient } from "aurelia-fetch-client";
import { autoinject } from "aurelia-framework";
@autoinject
export default class {
constructor(
private http: HttpClient
) {
}
private files: FileList;
private url: string = `/api/me/correspondence/attach`;
send(): Promise<any> {
var formData = new FormData();
for(let i = 0; i < this.files.length; i++){
formData.append(
'files',
this.files[i],
this.files[i].name
)
}
return this.http
.fetch(this.url, {
method: 'POST',
headers: {'Content-Type':'application/json'},
body: formData
})
.then(response =>{
switch (response.status) {
case 200: return Promise.resolve();
default: return Promise.reject(response.statusText);
}
})
.catch(error =>{
console.log("Failure, reason=" +error.content);
})
}
}
API отдыха:
[Route("api/me/correspondence")]
public class MeCorrespondenceController : Controller
{
private readonly ICorrespondenceService _correspondenceService;
public MeCorrespondenceController(
ICorrespondenceService correspondenceService
)
{
_correspondenceService = correspondenceService;
}
[HttpPost("attach")]
public Task<IActionResult> AddFiles([FromBody]IFormFileCollection files)
{
throw new NotImplementedException();
}
}