ERR_NAME_NOT_RESOLVED
是一个常见的网络错误,表示域名无法解析。当你在使用 Firebase 存储上传文件时遇到这个错误,通常是由于 DNS 解析问题导致的。以下是一些基础概念和相关信息:
以下是一些解决 ERR_NAME_NOT_RESOLVED
错误的步骤:
确保你的设备已连接到互联网,并且网络连接稳定。
尝试更换 DNS 服务器,例如使用 Google 的公共 DNS(8.8.8.8 和 8.8.4.4)或 Cloudflare 的 DNS(1.1.1.1)。
在 Windows 上更改 DNS 设置:
控制面板 -> 网络和 Internet -> 网络和共享中心 -> 更改适配器设置 -> 右键点击你的网络连接 -> 属性 -> Internet 协议版本 4 (TCP/IPv4) -> 使用下面的 DNS 服务器地址 -> 输入新的 DNS 地址。
在 macOS 上更改 DNS 设置:
系统偏好设置 -> 网络 -> 选择你的网络连接 -> 高级 -> DNS 标签页 -> 点击“+”添加新的 DNS 地址。
确保你的防火墙或安全软件没有阻止 DNS 查询。你可以尝试暂时禁用这些软件来排除问题。
确保你的 Firebase 项目配置正确无误。检查 google-services.json
文件(对于 Android)或 GoogleService-Info.plist
文件(对于 iOS)是否正确配置。
有时浏览器或应用的缓存可能导致 DNS 解析问题。尝试清除浏览器缓存或重启应用。
以下是一个简单的 Firebase 存储上传文件的示例代码(JavaScript):
// 初始化 Firebase
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_AUTH_DOMAIN",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_STORAGE_BUCKET",
messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
appId: "YOUR_APP_ID"
};
firebase.initializeApp(firebaseConfig);
// 获取存储引用
const storage = firebase.storage();
const storageRef = storage.ref();
// 上传文件
const fileInput = document.querySelector('input[type="file"]');
fileInput.addEventListener('change', (event) => {
const file = event.target.files[0];
const uploadTask = storageRef.child('images/' + file.name).put(file);
uploadTask.on('state_changed',
(snapshot) => {
// 进度监控
const progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
console.log(`上传进度: ${progress}%`);
},
(error) => {
console.error('上传失败:', error);
},
() => {
// 上传完成
uploadTask.snapshot.ref.getDownloadURL().then((downloadURL) => {
console.log('文件上传成功,下载链接:', downloadURL);
});
}
);
});
Firebase 存储广泛应用于需要存储和检索用户生成内容的场景,例如:
通过以上步骤和示例代码,你应该能够解决 ERR_NAME_NOT_RESOLVED
错误并成功上传文件到 Firebase 存储。
领取专属 10元无门槛券
手把手带您无忧上云