Files
TheGame/packages/web/utils/uploadHelpers.ts
Dan OneTree 9af9a3eea5 support uploading guild logo via web3.storage (#1367)
* support uploading guild logo via web3.storage

* Update packages/web/components/Guild/GuildForm.tsx

Co-authored-by: δυς <dys@dhappy.org>

* Update packages/web/components/Guild/GuildForm.tsx

Co-authored-by: δυς <dys@dhappy.org>

* storing ipfs://hash in database

Co-authored-by: δυς <dys@dhappy.org>
2022-10-07 18:49:11 -04:00

27 lines
659 B
TypeScript

export const uploadFile = async (file: File) => {
const formData = new FormData();
formData.append('ipfsHash', file);
const result = await fetch(`/api/storage`, {
method: 'POST',
body: formData,
credentials: 'include',
});
const response = await result.json();
const { error, ipfsHash } = response;
if (result.status >= 400 || error || !ipfsHash) {
const message =
result.status >= 400 || error
? `web3.storage ${result.status} response: "${
error ?? result.statusText
}"`
: `Uploaded logo but didn't get a response back.`;
throw new Error(message);
}
return ipfsHash;
};