在 Cordova 中使用 Papaparse 解析本地 CSV 文件 iOS
Parsing local CSV file using Papaparse in Cordova iOS
我正在使用 Papaparse
并尝试解析保存在 www
内的文件夹中的 CSV 文件。
它适用于 android
和 browser
平台。
但是,当涉及到iOS
时,它returns错误回调。
当我输出错误时,returns undefined
.
我也检查了iOS的文件路径是否正确,文件确实存在。
我已经尝试将文件路径设置为 "folder/myfile.csv"
但由于它导致错误,我尝试使用文件插件获取其完整路径。
还有其他人遇到同样的问题并有解决方法吗?
这是我的代码。
var getOldData = function() {
var dir = "folder/myfile.csv",
file = null;
file = (isiOS) ? cordova.file.applicationDirectory + "www/" + dir : dir;
Papa.parse(file, {
download: true,
error: function(err, file) {
console.log(">>>> PAPA PARSE ERROR");
console.log(">>>>" + err); // this returns undefined
console.log(">>>>" + file); // this returns undefined as well
},
complete: function(results) {
console.log(">>>> PAPA RESULTS");
console.log(results);
},
header: true,
dynamicTyping: true
});
};
提前致谢!
同样的问题。
我在 ios 上的 pouchdb 加载中找到了 this issue。好像
... for some reason, iOS is returning 0 as the status for the xhr request even when there is data loaded from file
所以我在 papaparse _chunkLoaded
函数中更改了这一行
if (xhr.status < 200 || xhr.status >= 400)
来自这个:
if (!((xhr.status >= 200 && xhr.status < 300) || (xhr.status==0 && xhr.responseText.length>0)))
现在可以使用了。
我在相应的github issue中添加了相同的答案。
可能会包含此补丁。
我正在使用 Papaparse
并尝试解析保存在 www
内的文件夹中的 CSV 文件。
它适用于 android
和 browser
平台。
但是,当涉及到iOS
时,它returns错误回调。
当我输出错误时,returns undefined
.
我也检查了iOS的文件路径是否正确,文件确实存在。
我已经尝试将文件路径设置为 "folder/myfile.csv"
但由于它导致错误,我尝试使用文件插件获取其完整路径。
还有其他人遇到同样的问题并有解决方法吗?
这是我的代码。
var getOldData = function() {
var dir = "folder/myfile.csv",
file = null;
file = (isiOS) ? cordova.file.applicationDirectory + "www/" + dir : dir;
Papa.parse(file, {
download: true,
error: function(err, file) {
console.log(">>>> PAPA PARSE ERROR");
console.log(">>>>" + err); // this returns undefined
console.log(">>>>" + file); // this returns undefined as well
},
complete: function(results) {
console.log(">>>> PAPA RESULTS");
console.log(results);
},
header: true,
dynamicTyping: true
});
};
提前致谢!
同样的问题。
我在 ios 上的 pouchdb 加载中找到了 this issue。好像
... for some reason, iOS is returning 0 as the status for the xhr request even when there is data loaded from file
所以我在 papaparse _chunkLoaded
函数中更改了这一行
if (xhr.status < 200 || xhr.status >= 400)
来自这个:
if (!((xhr.status >= 200 && xhr.status < 300) || (xhr.status==0 && xhr.responseText.length>0)))
现在可以使用了。
我在相应的github issue中添加了相同的答案。 可能会包含此补丁。