首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >火柴图像检索

火柴图像检索
EN

Stack Overflow用户
提问于 2021-12-21 14:40:36
回答 1查看 33关注 0票数 0

我半途而废地知道我的代码出了什么问题,但我找不到错误的确切位置。我试图上传图像到我的数据库和存储,然后通过存储在实时数据库中的url检索图像,但是每当我上传图像时,它不会存储在我的实时数据库中,它只是存储在存储中,所以检索代码不能工作。我目前存储的一幅图像被称为“景观”。

JavaScript代码:

代码语言:javascript
复制
// variables
            var imgName, ImgUrl;
            var files = [];
            var reader = new FileReader();

// select image

            document.getElementById("select").onclick = function(e){
                var input = document.createElement('input');
                input.type= 'file';
                input.click();

                input.onchange = e => {
                    files = e.target.files;
                    reader = new FileReader();
                    reader.onload = function(){
                        document.getElementById("myimg").src = reader.result;

                    }
                    reader.readAsDataURL(files[0]);
                }
                input.click();
            }

// upload image
            document.getElementById('upload').onclick = function(){
                ImgName = document.getElementById('namebox').value;
                var uploadTask = firebase.storage().ref('Images/'+ImgName+".png").put(files[0]);

                uploadTask.on('state_changed', function(snapshot){
                    var progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
                    document.getElementById('UpProgress').innerHTML = 'Upload'+progress+'%';
                },
                function(error){
                    alert('error in saving image');

                },
                function(){
                    uploadTask.snapshot.ref.getDownloadURL().then(function(url){
                        ImgUrl = url;
                    });
                    firebase.database().ref('Pictures/'+ImgName).set({
                        Name: ImgName,
                        Link: ImgUrl
                    });
                alert('image added successfully');
                }
                );
            }

// retrieve image

            document.getElementById('retrieve').onclick = function(){
                ImgName = document.getElementById('namebox').value;
                firebase.database().ref('Pictures/'+ImgName).on('value', function(snapshot){
                    document.getElementById('myimg').src = snapshot.val().Link;
                });
            }```

HTML code:
```        <style> img{ height: 200px; width: 200px; border: 2px solid black;}</style>
代码语言:javascript
复制
    Image Name <input id = "namebox" type="text"><br><br>
代码语言:javascript
复制
    <img id ="myimg"> <label id = "UpProgress"></label><br><br>
代码语言:javascript
复制
    <button id = "select">Select Image</button>
代码语言:javascript
复制
    <button id = "upload">Upload Image</button>
代码语言:javascript
复制
    <button id = "retrieve">Retrieve Image</button>```
代码语言:javascript
复制
EN

回答 1

Stack Overflow用户

发布于 2021-12-21 20:51:59

我找到了答案,我只需移动其中一个};在上传函数中,它起了作用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70437210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档