0
이미지를 업로드하기 위해 다음 C# 코드를 상속했으며 가져 오기 API를 사용하여 끝점을 호출하려고합니다. 나는 계속받는 오류 :fetch api 및 C# web API로 이미지 업로드 시도 중
을{ "제공 잘못된 'HttpContent'예 그것은 '/ 멀티'로 시작하는 콘텐츠 형식 헤더가없는 \ 연구 \ 이름 nParameter :.. 내용"}
이 엔드 포인트를 호출 할 때 내가 뭘 잘못하고 있는지 알 수 있습니까? 나는 C#/web API 코드와 자바 스크립트 코드를 포함시켰다. 제공 할 수있는 도움에 감사드립니다.
[Route("coverpicture")]
public virtual Task<HttpResponseMessage> Post()
{
HttpContext.Current.Response.ContentType = "application/json";
var formatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
var personId = CurrentUser.PersonId;
if (!Request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
var task = Request.Content.ReadAsMultipartAsync().ContinueWith(t =>
{
var parts = t.Result.Contents;
var content = parts.First(x => x.Headers.ContentDisposition.Name.Contains("CoverPicture"));
if (content == null)
{
var resp = new HttpResponseMessage(HttpStatusCode.NotAcceptable)
{
Content = new ObjectContent<string>("No ContentDisposition named CoverPicture.", formatter)
};
return resp;
}
using (var imgStream = content.ReadAsStreamAsync().Result)
using (var photos = new PhotosProvider())
{
var photo = photos.CreateOrUpdateCoverPicture(personId, imgStream);
var resp = new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new ObjectContent<Photo>(photo, formatter)
};
return resp;
}
});
return task;
}
자바 스크립트 코드 : 나는 다음과 같이 시도해야한다고 생각
let data = new FormData()
for (var x = 0; x < files.length; x++){
data.append("file" + x, files[x]);
}
fetch(url, {
method: 'POST',
mode: 'cors',
contentType: false,
processData: false,
body: JSON.stringify({}),
data: data
})
.then(parseResponse)
.then(resolve)
.catch(reject);
! 정말 고마워. – user3192594