将海量数据上传到Firebase

时间:2016-04-08 13:08:43

标签: javascript jquery csv firebase

我正在尝试将我的CSV数据上传到Firebase,但它一直在抛出一个奇怪的错误。我并不像我想的那样熟悉JavaScript,因此这可能是问题的一部分。

这是我要上传的数据:

<?php
$newproduct='';
if(isset($_POST['newproduct'])
{
    $newproduct=$_POST['newproduct'];
}
?>
<select name="newproduct">
        <option value="0" <?php if($newproduct ==0){echo 'selected="selected"';} ?> >No</option>
         <option value="1" <?php if($newproduct ==1){echo 'selected="selected"';} ?> >Yes</option>
</select>

我没有使用任何想要尝试上传文档的东西,这似乎是以我想要的方式上传所有内容的最快方式:

704,STANDARD,PARC PARQUE,PR,NOT ACCEPTABLE,17.96,-66.22,"Parc Parque, PR"
704,STANDARD,SECT LANAUSSE,PR,NOT ACCEPTABLE,17.96,-66.22,"Sect Lanausse, PR"
704,STANDARD,URB EUGENE RICE,PR,NOT ACCEPTABLE,17.96,-66.22,"Urb Eugene Rice, PR"
704,STANDARD,URB GONZALEZ,PR,NOT ACCEPTABLE,17.96,-66.22,"Urb Gonzalez, PR"

这就是数据库中显示的所有内容:

enter image description here

它的作用是只上传一行但是#34;同步成功&#34;总是打印在我的控制台中。

我希望它上传每一行,因为我的原始数据大约是90,000行。帮助

1 个答案:

答案 0 :(得分:2)

对于在代码中寻找答案的人来说,这就是工作模式。

<!DOCTYPE html>

<head>
</head>

<body>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="https://cdn.firebase.com/js/client/2.4.2/firebase.js"></script>
<script type="text/javascript">
$(function () {
    var myFirebaseRef = new Firebase("https://<firebaseid>.firebaseio.com/coordinates");

    $("#upload").bind("click", function () {
        var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.csv|.txt)$/;
        if (regex.test($("#fileUpload").val().toLowerCase())) {
            if (typeof (FileReader) != "undefined") {
                var reader = new FileReader();
                reader.onload = function (e) {
                    var rows = e.target.result.split("\n");
                    for (var i = 0; i < rows.length; i++) {
                        var cells = rows[i].split(",");
                        myFirebaseRef.push({
                            [cells[0]]: {
                                zipcodetype: cells[1],
                                city: cells[2],
                                state: cells[3],
                                locationtype: cells[4],
                                latitude: cells[5],
                                longitude: cells[6],
                                locationttext: cells[7]
                            }
                        });                    
                    }
                }
                reader.readAsText($("#fileUpload")[0].files[0]);
            } else {
                alert("This browser does not support HTML5.");
            }
        } else {
            alert("Please upload a valid CSV file.");
        }
    });
});
</script>
<input type="file" id="fileUpload" />
<input type="button" id="upload" value="Upload" />
</div>

</body>

<html>