javascript - 使用 javascript、angular.js 和 sql.js,如何从 url 获取文件对象?

标签 javascript angularjs sqlite

我使用查询字符串从浏览器 URL 获取服务器上 sqlite 数据库文件的 URL。

所以在应用程序中我有文件网址。

然后我在该 url 上调用一个 Angular $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 数据、状态、 header 和配置部分作为 blob[] 数组的更多部分来构建 blob,并将其传递给新的 Blob 构造函数...

任何帮助将不胜感激,谢谢!

最佳答案

我最终使用了一个按钮并将来自 url 事件的负载分配给它,这样我就不必构建自己的 blob。当我构建自己的 blob 时,sql.js 无法解析我的 sqlite 数据库文件。似乎 header 丢失了,但我无法以 sql.js 正确读取的方式添加它们。

使用修改后的用例,从 url 加载按钮选项工作正常。我什至隐藏了按钮,除非有从 url 中的查询字符串返回的数据。这意味着仅当 url 中包含查询字符串时才会显示从 url 加载的按钮。

关于javascript - 使用 javascript、angular.js 和 sql.js,如何从 url 获取文件对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25167283/

相关文章:

javascript - 如何 trim javascript对象中Key的大小

javascript - 调用函数时如何按名称设置变量?

javascript - &lt;script&gt;document.write ('<base href="' + document.location + '"/>');&lt;/script&gt;

c# - 当日期存储为刻度时,为什么strftime()在Sqlite中不起作用?

sql - sql-选择与其他行中的值进行比较的行

python - 如何检查sqlite数据库中的用户名? Python

javascript - 在 1 个 HTML onclick 事件中使用 JS 和 ASP

javascript - 不同javascript for循环的性能

javascript - 在页面重新加载中使用 $locationProvider 不起作用

javascript - 拼接不适用于 Angularjs