我试图上传多个图像从反应本机到Firebase。我这样做的方式是通过使用博览会图像选择器多-由monstrodev(见snack.io这里)
我已经设法让它工作,并设法能够选择多张照片从'即兴'相机辊。它们在添加屏幕中加载良好,但我找不到如何正确上传它们的解决方案。
export default function Add(props) {
const [name, setName] = useState("");
const [photos, setPhotos] = useState(null);
const uploadImage = async () => {
const uri = photos[0].uri; // -> uri is like this because 'media' is an array with objects inside that contain name, type, and uri each, and I only need uri of each oject.
const childPath = `data/${firebase.auth().currentUser.uid}/${Math.random().toString(36)}`;
console.log(childPath);
const response = await fetch(uri);
const blob = await response.blob();
const upload = firebase
.storage()
.ref()
.child(childPath)
.put(blob);
const uploadProgress = snapshot => {
console.log(`transferred: ${snapshot.bytesTransferred}`)
};
const uploadComplete = () => {
upload.snapshot.ref.getDownloadURL().then((snapshot) =>{
addPost(snapshot);
console.log(snapshot);
})
};
const uploadError = snapshot => {
console.log(snapshot);
};
upload.on("state_changed", uploadProgress, uploadError, uploadComplete );
};
const addPost = (downloadURL) => {
firebase.firestore()
.collection("allPosts")
.collection(firebase.auth().currentUser.uid)
.collection('userPosts')
.add({
downloadURL,
name,
}).then((function () {
props.navigation.popToTop()
}))
}
useEffect(() => {
const {params} = props.route;
if(params) {
const {photos} = params;
if(photos) setPhotos(photos)
delete params.photos
}
}, [{photos}]) // This useEffect updates when coming back from the ImageBrowserScreen (can be found in snack.io, it's exactly the same)
主要问题是,这么说吧,我选3张照片。如果我console.log(照片),我会得到这个:
Array [
Object {
"name": "name1.JPG",
"type": "image/jpg",
"uri": "file:///name1.jpg",
},
Object {
"name": "name2.JPG",
"type": "image/jpg",
"uri": "file:///name2.jpg",
},
Object {
"name": "name3.JPG",
"type": "image/jpg",
"uri": "file:///name3.jpg",
},
]
我唯一能让它工作的是这个,给uri确切的路径(例如照片[0]. uri),否则会出现网络错误。但这只上传第一个对象/照片。我还试图通过照片状态映射,并将所有uri返回到一个数组中,并将其用作const uri,但这显然不起作用,因为uri只需要一个字符串。因此,我需要为每个uri运行该函数,以便能够获得一个下载URL并存储它们。
编辑:
const uploadImage = async (photo) => {
const uri = photo.uri;
const childPath = `data/${
firebase.auth().currentUser.uid
}/${Math.random().toString(36)}`;
console.log(childPath);
const response = await fetch(uri);
const blob = await response.blob();
const snapshot = await firebase.storage().ref().child(childPath).put(blob);
const downloadURL = await snapshot.ref.getDownloadURL();
imgs.push(downloadURL)
};
const uploadPhotos = async () => {
await Promise.all(photos.map(p=>uploadImage(photo)).then(addPost())
};
你能不能用一个循环试试,把所有的照片分开上传。理想地使用Promise.all并行上传它们:
const addPost = async (downloadURLs) => {
await firebase.firestore()
.collection("allPosts")
.collection(firebase.auth().currentUser.uid)
.collection('userPosts')
.add({
downloadURLs,
name,
})
props.navigation.popToTop()
}
const uploadImage = async (photo) => {
const uri = photo.uri;
const childPath = `data/${
firebase.auth().currentUser.uid
}/${Math.random().toString(36)}`;
console.log(childPath);
const response = await fetch(uri);
const blob = await response.blob();
const snapshot = await firebase.storage().ref().child(childPath).put(blob);
const downloadURL = await snapshot.ref.getDownloadURL();
return downloadURL
};
const uploadPhotos = async () => {
const downloadURLs=await Promise.all(photos.map(p=>uploadImage(photo))
await addPost(downloadURLs);
};
我试图从react native应用程序上传一个映像到java spring boot服务器,但我无法使其工作。 路径为[]的上下文中servlet[dispatcherServlet]的servlet.service()引发异常[请求处理失败;嵌套异常为org.springframework.web.multipart.multipartException:解析多部分servlet请求失败;嵌套
我学习AWS和Flutter为大学的一个主题开发一个移动应用程序(Android),比如Instagram。 我的问题是,是否有一种方法可以直接将图像从应用程序发送到S3 Bucket,并将与该图像相关的URL存储在Dynamodb中。 我将感激任何形式的指导,因为我是AWS的新手。
我尝试从数组中随机加载gif。我尝试了几种方法,但都没有奏效。我要么收到错误消息,要么图像就不会出现。 版本 1(结果:图像未显示): 版本2(结果:“无效调用”) 版本3(结果:无法加载图像): 有什么想法吗?
我改变了默认的应用图标,它在应用抽屉里看起来很好,但是在Android8.0最近的应用中,这个图标仍然是默认的。 同时,当我尝试卸载应用程序时,打开的警报窗口包含dafault react-native图标。 我试着看了其他帖子,发现了这个评论,但我已经设置了这些,甚至创建了一个mipmap-ldpi(36x36)图标,但它仍然保持不变。
我正在尝试将我的应用程序上载到华为AppGallery Connect,该应用程序发布为Multi-APK以减小其大小(不使用应用程序包以避免被商店签名) 这是我最后的多个apk文件: 我找到了华为AppGallery解释Multi-APK的官方视频,但我找不到上传多个APK的任何选项,因为上传表单只接受1个APK,如下图所示: 你能解释一下这是否可能,以及如何做吗?
我在我的Android应用程序中使用滑翔进行图像加载,以避免任何崩溃,我正在加载带有应用程序上下文的图像。这会对应用程序和内存的性能产生什么影响?
我正在尝试用quarkus和graalvm构建一个java应用程序。我目前正在使用graalvm版本graalvm-ce-java11-windows-amd64-21.2.0,并更新了JAVA_HOME、graalvm_HOME和系统路径。对于MSVC,我已经下载了visual studio,并在安装过程中选择了MSVC选项。但是,当我使用mvn clean package-Pnative构建应
问题内容: 我有一个UIImageView,它允许用户放置并保存图像,直到可以保存为止。问题是,我不知道如何实际保存和检索放置在视图中的图像。 我已经将图像检索并放置在UIImageView中,如下所示: 它在我的UIImageView中显示选定的图像就很好了,但是我不知道如何保存它。我将视图的所有其他部分(主要是UITextfield)保存在Core Data中。我已经搜索了很多,然后尝试了很多