postman 使用存储API将映像上载到超级数据库存储

kiz8lqtg  于 2023-03-08  发布在  Postman
关注(0)|答案(1)|浏览(136)

Supabase太棒了!!我正在尝试使用对X1 M0 N1 X的POST请求将一个图像上传到公共桶。
困难的是我只有base64编码的图像字符串,我不能使一个成功的请求以上的端点。我已经尝试了无数次的迭代设置内容类型,但没有运气。
我试图从Appsmith上传我的图像,它提供了base64格式的图像,从那里我将不得不击中上述端点。
请帮帮我。

fcg9iug3

fcg9iug31#

我很高兴能够找到另一个像我一样的Supbase球迷!
我知道你的痛苦。你能尝试this技术将base 64字符串转换为blob对象吗?

const byteCharacters = atob(b64Data);

const byteNumbers = new Array(byteCharacters.length);
for (let i = 0; i < byteCharacters.length; i++) {
    byteNumbers[i] = byteCharacters.charCodeAt(i);
}

const byteArray = new Uint8Array(byteNumbers);

const blob = new Blob([byteArray], {type: contentType});

末尾的blob变量是可以用来上载到Supabase的变量。
另外,你有没有考虑过使用Supabase-js SDK?它会让你的生活变得更容易,因为它们提供了更好的API来与Supabase交互。
您可以在这里获得supabase-js包:https://www.npmjs.com/package/@supabase/supabase-js
您可以在这里找到一些示例代码:https://supabase.io/docs/reference/javascript/storage-from-upload
在您的情况下,您可以执行以下操作来上传文件:

const { data, error } = await supabase
  .storage
  .from('avatars')
  .upload('public/sample.png', blob, {
    cacheControl: 3600,
    upsert: false
  })

相关问题