mirror of
https://github.com/MetaFam/TheGame.git
synced 2026-04-24 03:00:09 -04:00
* 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>
27 lines
659 B
TypeScript
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;
|
|
};
|