You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js 3结合Firebase 9实现图片上传至指定文件夹并保留原文件名

解决Firebase 9图片上传至指定文件夹并保留原文件名的问题

直接修改存储引用的路径,将文件夹名与原文件名拼接即可实现需求,正确代码如下:

uploadImage(e) {
  const file = e.target.files[0];
  if (!file) return; // 避免无文件时执行后续逻辑
  const storage = getStorage();
  // 拼接文件夹路径与原文件名,生成完整的存储引用路径
  const storageRef = ref(storage, `products/${file.name}`);
  uploadBytes(storageRef, file)
    .then(() => {
      console.log('图片上传成功');
    })
    .catch((error) => {
      console.error('上传失败:', error);
    });
}

原代码问题说明

  • 第一种写法仅指定products/作为存储路径,这指向的是products文件夹本身,而非文件夹内的具体文件,Firebase会默认使用占位名称(如你遇到的'product')将文件存到根目录。
  • 第二种写法直接使用file.name作为路径,没有包含文件夹前缀,自然会将文件上传至根目录。

核心逻辑是通过模板字符串products/${file.name}生成完整的目标路径,既指定了目标文件夹,又保留了原文件名。

内容的提问来源于stack exchange,提问作者VolodymyrPTK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 10:21:38