IOS中使用resolveLocalFileSystemURL传入路径,路径为file:///var/mobile/Containers/Data/Application/86727B28-75C0-4FC6-B7A3-7FD634B5B8B0/Library/Pandora/documents/20181112114443.stl,返回不允许读,但是这个路径在原生中和使用html5+中证明是正确的路径,而同样的方法在Android中是没有问题的,这样要如何解决
t***@sina.com
- 发布:2018-11-14 16:00
- 更新:2020-01-17 16:38
- 阅读:2802
t***@sina.com (作者)
好的,谢谢,但是IOS中,我使用readAsText可以读出文件内容,但是改为readAsDataURL却返回错误编号5,错误内容是编码错误,这是什么原因呢,使用readAsArrayBuffer是根本没有触发事件
2018-11-14 17:11
DCloud_IOS_XTY
readAsArrayBuffer没有这个方法吧,readAsDataURL的问题可以提供下问题demo
2018-11-14 17:32
t***@sina.com (作者)
回复 DCloud_IOS_XTY:我log的时候看到里面有3个readAsArrayBuffer(),readAsText(),readAsDataURL(),这两个方法中只有后两个触发了事件。
下面是demo
plus.io.requestFileSystem(
plus.io.PUBLIC_DOCUMENTS, (fs) => {
console.log(fs)
var directoryReader = fs.root.createReader()
directoryReader.readEntries((entries) => {
var i
for (i = 0; i < entries.length; i++) {
console.log(entries[i].name)
}
}, (e) => {
alert('Read entries failed: ' + e.message)
})
fs.root.getFile('20181112114443.stl', {create: false}, (fileEntry) => {
fileEntry.file((file) => {
var fileReader = new plus.io.FileReader()
console.log(file)
// fileReader.readAsText(file, 'utf-8') 这个可以读取出里面的文本内容
fileReader.onerror = (evt) => {
console.log(evt)
// console.log('evt' + evt.target.result)
}
fileReader.onloadend = (evt) => {
console.log(evt)
console.log('evt' + evt.target.result)
// _this.modelBlob = _this.dataUrlToBlob(evt.target.result)
// _this.blobToArrayBuffer(_this.modelBlob)
}
fileReader.readAsDataURL(file) //但是这个会报编码错误
// fileReader.readAsArrayBuffer(file)
console.log(file.size + '--' + file.name)
})
},
(error) => {
console.log('error' + error)
Indicator.close()
})
}
)
错误的log是
error:OBject
code:5
message:“编码错误”
这个问题怎么弄啊
2018-11-15 10:57
DCloud_IOS_XTY
经测试这个代码运行正常没有报错
2018-11-15 18:24
t***@sina.com (作者)
回复 DCloud_IOS_XTY:你那个是在IOs的plus.io.PUBLIC_DOCUMENTS这个文件夹中可以使用readAsDataURL()这个方法读取文件不出现问题吗
2018-11-16 11:07
DCloud_IOS_XTY
就是你上边的代码,只不过stl文件替换成了二进制文件
2018-11-16 12:54
t***@sina.com (作者)
回复 DCloud_IOS_XTY:是在ios平台上吗,我安卓没问题,但是在ios报错了
2018-11-16 14:28
t***@sina.com (作者)
造成编码错误的原因有哪些
2018-11-16 16:21
DCloud_IOS_XTY
建议提供完整的ipa,并说明重现步骤
2018-11-16 17:49
DCloud_IOS_XTY
建议提供完整的ipa,并说明重现步骤
2018-11-16 17:49