【发布时间】:2014-09-29 19:05:51
【问题描述】:
我正在使用查询字符串从浏览器 url 获取我服务器上的 sqlite db 文件的 URL。
所以在应用程序中我有文件 url。
然后我在那个 url 上调用一个有角度的 $http.get 函数。
这给了我文件中的数据,但我用来读取数据的库需要一个文件对象。
有没有办法从 $http.get 中的参数创建文件对象?参数是data,status,headers,config,我还有文件名。
我尝试构建 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 构造函数...
任何帮助将不胜感激,谢谢!
【问题讨论】:
-
我基本上是在尝试模仿 html 输入 type=file 功能,但文件名来自 URL 查询字符串,而不是输入标签。这是一个 stackoverflow 问题,开发人员放弃并说这是不可能的,但社区没有任何确认:stackoverflow.com/questions/15037729/…
标签: javascript angularjs sqlite