[英]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.