summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorMar0xy <marie@kaifa.ch>2023-09-25 01:02:16 +0200
committerMar0xy <marie@kaifa.ch>2023-09-25 01:02:16 +0200
commitead0667320a5b15bcd99c7ae7ba2a3d648d8b3ea (patch)
treeff7f3eca367440432c392f1b93846604a40f5bd5 /packages
parentupd: remove type for createdAt (diff)
downloadsharkey-ead0667320a5b15bcd99c7ae7ba2a3d648d8b3ea.tar.gz
sharkey-ead0667320a5b15bcd99c7ae7ba2a3d648d8b3ea.tar.bz2
sharkey-ead0667320a5b15bcd99c7ae7ba2a3d648d8b3ea.zip
fix: upload media on masto api
Diffstat (limited to 'packages')
-rw-r--r--packages/backend/src/server/api/mastodon/MastodonApiServerService.ts4
-rw-r--r--packages/megalodon/src/misskey.ts10
2 files changed, 10 insertions, 4 deletions
diff --git a/packages/backend/src/server/api/mastodon/MastodonApiServerService.ts b/packages/backend/src/server/api/mastodon/MastodonApiServerService.ts
index 0e35974847..128cb3491a 100644
--- a/packages/backend/src/server/api/mastodon/MastodonApiServerService.ts
+++ b/packages/backend/src/server/api/mastodon/MastodonApiServerService.ts
@@ -143,7 +143,7 @@ export class MastodonApiServerService {
const data = await client.uploadMedia(multipartData);
reply.send(convertAttachment(data.data as Entity.Attachment));
} catch (e: any) {
- console.error(e);
+ /* console.error(e); */
reply.code(401).send(e.response.data);
}
});
@@ -161,7 +161,7 @@ export class MastodonApiServerService {
const data = await client.uploadMedia(multipartData, _request.body!);
reply.send(convertAttachment(data.data as Entity.Attachment));
} catch (e: any) {
- console.error(e);
+ /* console.error(e); */
reply.code(401).send(e.response.data);
}
});
diff --git a/packages/megalodon/src/misskey.ts b/packages/megalodon/src/misskey.ts
index 3a154b68ea..39c7685915 100644
--- a/packages/megalodon/src/misskey.ts
+++ b/packages/megalodon/src/misskey.ts
@@ -1,5 +1,5 @@
import FormData from 'form-data'
-
+import fs from 'fs';
import MisskeyAPI from './misskey/api_client'
import { DEFAULT_UA } from './default'
import { ProxyConfig } from './proxy_config'
@@ -1311,7 +1311,13 @@ export default class Misskey implements MegalodonInterface {
*/
public async uploadMedia(file: any, _options?: { description?: string; focus?: string }): Promise<Response<Entity.Attachment>> {
const formData = new FormData()
- formData.append('file', file)
+ formData.append('file', fs.createReadStream(file.path), {
+ contentType: file.mimetype,
+ });
+
+ if (file.originalname != null && file.originalname !== "file") formData.append("name", file.originalname);
+
+ if (_options?.description != null) formData.append("comment", _options.description);
let headers: { [key: string]: string } = {}
if (typeof formData.getHeaders === 'function') {
headers = formData.getHeaders()