簡體   English   中英

使用javascript,angular.js和sql.js,如何從url獲取文件對象?

[英]using javascript, angular.js, and sql.js, how do I get a file object from a url?

我正在使用查詢字符串從瀏覽器URL中獲取服務器上sqlite db文件的URL。

因此,在應用程序中,我具有文件網址。

然后,我在該網址上調用一​​個有角的$ http.get函數。

這給了我文件中的數據,但是我用來讀取數據的庫需要一個文件對象。

有沒有一種方法可以通過$ http.get中的參數創建文件對象? 參數是數據,狀態,標頭和配置,我也有文件名。

我嘗試構造一個Blob,但始終收到錯誤消息,說“數據庫磁盤映像格式錯誤”。 這是$ http.get函數內部的blob構造:

            ...
            var blob = [];
            var blob2 = {fileName:null};
            $http.get(fileName).
              success(function (data, status, headers, config) {
                blob[0] = data;

                var theBlob = new Blob(blob, {name:fileName},{status:status},{headers:headers},{config:config}, {type : ''});
                var r = new FileReader();
                r.onload = function () {                    
                    var Uints = new Uint8Array(r.result);
                    db = new SQL.Database(Uints); 
                ...

我還嘗試通過將$ http.get數據,狀態,標頭和配置部分添加為blob []數組的更多部分來構建blob,並將其傳遞給新的Blob構造函數...

任何幫助將不勝感激,謝謝!

我最終使用了一個按鈕,並從url事件中分配了負載,這樣就不必構建自己的Blob。 當我建立自己的Blob時,sql.js無法解析我的sqlite db文件。 似乎缺少標題,但是我無法以sql.js正確讀取的方式添加它們。

對於修改后的用例,從url按鈕加載選項可以正常工作。 除非URL中的查詢字符串返回了數據,否則我什至都隱藏了按鈕。 這意味着僅當URL中包含查詢字符串時,才會顯示從URL加載的按鈕。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM