diff --git a/CHANGELOG.md b/CHANGELOG.md index 174a36e349..4c4388617f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ - Fix: アカウント削除が正常に行われないことがあった問題を修正 - Fix: outboxのページネーションが正しく行われない問題を修正 +### Misskey.js +- Fix: misskey-jsの drive/file/create でファイルアップロードができない問題を修正 ## 2025.6.0 diff --git a/packages/misskey-js/src/api.ts b/packages/misskey-js/src/api.ts index 437518f60b..e64f1a048c 100644 --- a/packages/misskey-js/src/api.ts +++ b/packages/misskey-js/src/api.ts @@ -106,7 +106,7 @@ export class APIClient { this.fetch(`${this.origin}/api/${endpoint}`, { method: 'POST', body: payload, - headers: { + headers: mediaType === 'multipart/form-data' ? {} : { 'Content-Type': mediaType, }, credentials: 'omit', diff --git a/packages/misskey-js/test/api.ts b/packages/misskey-js/test/api.ts index 1a7574de25..b8ad2225c8 100644 --- a/packages/misskey-js/test/api.ts +++ b/packages/misskey-js/test/api.ts @@ -94,11 +94,7 @@ describe('API', () => { fetchMock.resetMocks(); fetchMock.mockResponse(async (req) => { if (req.method == 'POST' && req.url == 'https://misskey.test/api/drive/files/create') { - if (req.headers.get('Content-Type')?.includes('multipart/form-data')) { - return JSON.stringify({ id: 'foo' }); - } else { - return { status: 400 }; - } + return JSON.stringify({ id: 'foo' }); } else { return { status: 404 }; } @@ -123,7 +119,7 @@ describe('API', () => { expect(getFetchCall(fetchMock.mock.calls[0])).toEqual({ url: 'https://misskey.test/api/drive/files/create', method: 'POST', - contentType: 'multipart/form-data', + contentType: undefined, body: { i: 'TOKEN', file: testFile,