【发布时间】:2020-11-09 07:28:12
【问题描述】:
我正在尝试将 base64 图像上传到我的前库存储。我找了很长时间,但找不到它,甚至在堆栈溢出时也找不到。当我尝试上传图像时,我收到此错误,指出字符串不是 base64 格式。我在几个将base64转换为图像的网站上粘贴了相同的字符串,它工作得很好,所以字符串没问题。我不知道我错过了什么,我不知道下一步该做什么......我将非常感谢任何形式的帮助。 这是我的代码:
const storageRef = firebase.default.storage().ref().child("users")
storageRef.putString(base64String, 'base64', { contentType: "image/jpg" }).then(snap => {
console.log("yay");
}).catch(err => {
console.log("not good");
})
我的 base64 字符串没有以“data:image/jpg;base64”开头,它看起来像这样:“/9j/4...poi//Z”
【问题讨论】:
-
1.我首先尝试使用“dataurl”而不是“base64”上传以“data:image/png;base64”开头的整个字符串,即 storageRef.putString(base64String, 'data_url').then(snap => { 2. 是它是 png 还是 jpg?-您是否尝试将 { contentType: "image/jpg" } 更改为 { contentType: "image/png" },或者只是省略该选项对象?即 storageRef.putString(base64String, 'base64') .then(snap => { 更多:firebase.google.com/docs/storage/web/upload-files
-
我试过了,没有帮助。我仍然得到同样的错误。图片的类型是 jpeg 而不是 png,是我使用的
-
contentType: "image/jpg" 不被识别为 JPEG 文件的实际 mime 类型,只有 contentType: "image/jpeg"。但我不认为这是你的问题。您是从浏览器、node.js 服务器还是 React Native 应用程序运行它?
-
我把它改成了'jpeg',同样的问题。我从 node.js 运行这个
标签: javascript firebase base64 firebase-storage