javascript 用于插入文件超级数据库存储桶策略不起作用

iovurdzv  于 2023-02-02  发布在  Java
关注(0)|答案(2)|浏览(96)

我尝试将文件插入到超级数据库公共存储桶中,我创建了基本策略来插入、选择。当我尝试上载文件时,尽管它返回

{
  statusCode: '401',
  error: 'Invalid JWT',
  message: 'new row violates row-level security policy for table "objects"'
}

我已经将文件转换为base64格式,然后在上传过程中解码数据,错误可能与此有关吗?我尝试向bucket添加多个策略,但没有效果。我的bucket策略包括插入、选择操作的公共访问策略。策略:(bucket_id = 'trycoin'::text)我是否应该添加任何其他策略?

ia2d9nvy

ia2d9nvy1#

为了能够从Supabase存储上传或下载文件,您需要允许在objects表上插入或选择,而不是在buckets表上。
例如,如果要允许上载(插入)到trycoin存储桶,可以设置如下策略:

create policy "Allow upload on trycoin"
on storage.objects for insert
with check ( bucket_id = 'trycoin' );

您可以在Supabase存储文档上找到更多示例。

ycl3bljg

ycl3bljg2#

您还应该检查在尝试上载时bucketname是否拼写正确。在这种情况下,它会抛出相同的错误

相关问题