1

JavaScript SDK でMicrosoft Graph API のcreateUploadSessionエンドポイントを使用しようとしており、3 MB をわずかに超える小さなファイルでアップロードをテストしようとしています。リクエストを送信するたびにPUT、次のエラー レスポンスを受け取ります。

{
  "error": {
     "code": "InvalidContentRangeHeader",
     "message": "Invalid Content-Range header."
  }
}

ファイル全体を一度に送信しようとしているので、リクエストは次のようになります。

  const uploadSession = await client
    .api(`/me/messages/${messageId}/attachments/createUploadSession`)
    .version('beta')
    .post({
      AttachmentItem: {
        attachmentType: 'file',
        name: attachment.name,
        size: attachment.size,
      },
    });

  const res = await fetch(uploadSession.uploadUrl, {
    method: 'PUT',
    headers: {
      'Content-Type': 'application/octet-stream',
      'Content-Range': `bytes 0-${attachment.size - 1}/${attachment.size}`,
      'Content-Length': attachment.size,
    },
    body: attachment.contentBytes,
  });

  const json = await res.json();
  return json;

私が行方不明になっているものはありますか?完全な範囲を正しく指定すると、ファイル全体が渡されるはずです。

4

1 に答える 1