0
次のC#コードを継承して画像をアップロードしましたが、フェッチAPIを使用してエンドポイントを呼び出そうとしています。 エラーIを受信し続ける:{ "無効 'HttpContent' インスタンスを提供それはマルチパート/ 'で始まるコンテンツタイプヘッダを持っていない\ R \ nParameter名:コンテンツ"}fetch apiとC#web APIを使用して画像をアップロードしようとしています
を
このエンドポイントを呼び出すのに間違っていますか?私はC#/ webのapiコードとその下のjavascriptコードを含んでいます。あなたが提供できるお手伝いをありがとう。
[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;
}
Javascriptコード:私は次のようにあなたが試すべきだと思い
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