【问题标题】:supabase download image bad request headers should have required property 'authorization'supbase 下载图像错误的请求标头应该具有必需的属性“授权”
【发布时间】:2021-12-25 10:21:21
【问题描述】:

我无法从 supabase 下载图像。我得到这个错误

{
"statusCode": "400",
"error": "Bad Request",
"message": "headers should have required property 'authorization'"
}

我已关注文档 https://supabase.io/docs/guides/with-nextjs

这是我的请求代码

const myQuote = ({ dataFetch }) => {
  const [avatarUrl, setAvatarUrl] = useState(null);

  async function downloadImage(path) {
    try {
      const { data, error } = await supabase.storage
        .from("job-photo")
        .download(`jobphotos/${path}.jpg`);
      if (error) {
        throw error;
      }
      const url = URL.createObjectURL(data);
      setAvatarUrl(url);
    } catch (error) {
      console.log("Error downloading image: ", error.message);
    }
  }

  return (
    <>
      <Dashboard />
      <QuoteTable tableData={dataFetch} downloadImg={downloadImage} />
    </>
  );
};

export default myQuote;

【问题讨论】:

标签: javascript reactjs next.js supabase


【解决方案1】:

通过将public/ 添加到 from 来使其正常工作

 const { data, error } = await supabase.storage
        .from("public/job-photo")
        .download(`jobphotos/${path}.jpg`);

【讨论】:

    【解决方案2】:

    你有下面的代码吗?

    import { createClient } from '@supabase/supabase-js'
    
    const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL
    const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY
    
    export const supabase = createClient(supabaseUrl, supabaseAnonKey)
    

    【讨论】:

    • 确实如此。我使用客户端来获取我网站上的其他帖子,但由于某种原因无法下载图像。我的存储桶设置为公开
    • 公共存储桶的 URL 是什么?您是否尝试使用浏览器访问它?您是否也将存储桶中的对象设置为公开?他们继承父权限吗?
    • 你好我已经修复它需要/public
    猜你喜欢
    • 2021-05-30
    • 2020-12-17
    • 1970-01-01
    • 1970-01-01
    • 2017-06-22
    • 2013-01-07
    • 1970-01-01
    • 2021-03-24
    • 1970-01-01
    相关资源
    最近更新 更多