【问题标题】:Cordova File Transfer download `result` null errorCordova 文件传输下载“结果”空错误
【发布时间】:2014-04-26 22:05:11
【问题描述】:

我最近更新了科尔多瓦文件传输插件并修复了.toURL() 路径,尽管我在FileTransfer.js 中遇到错误,其中下载的结果是null,它是没想到。

TypeError: 'null' is not an object (evaluating 'result.lengthComputable')

错误发生在这一行: https://github.com/apache/cordova-plugin-file-transfer/blob/master/www/FileTransfer.js#L171

正在下载的文件是: http://api.gigstamp.com/1/gigstamps/53179dcbc2cba20200000005-small.png

这是一张显示休息时间的图片: https://www.dropbox.com/s/9qd80zgpy5r6btc/Screenshot%202014-04-26%2022.48.14.png

【问题讨论】:

  • 你是在iOS模拟器还是真机上试用?
  • 我都试过了,我得到了同样的错误。
  • 你发现了吗?我现在得到这个确切的错误......
  • 我不得不在 FileTransfer.js 中添加一行 if (result) { 作为临时解决方法

标签: cordova file-transfer cordova-plugins


【解决方案1】:

我最近调查了同样的问题,我发现 fileTransfer.download 回调正在调用下载进度,并且最后一次调用的结果 = null。挖掘 Objective C 源代码时会发现 fileTransfer 无法获取文件条目。 不知道怎么解决:(

【讨论】:

  • 嘿,至少我很高兴这不仅仅是我。你有解决办法吗?
  • 是的,我已经返回到 file-transfer@0.4.2 :/
【解决方案2】:

升级到 cordova 3.5.0 后遇到同样的问题:TypeError: 'null' is not an object (evalating 'result.lengthComputable')

我认为这是一个 url 问题:

深入研究 CDVFileTransfer::connectionDidFinishLoading 我发现这一行

[self.filePlugin makeEntryForURL:self.targetURL]

总是以非 cdv 文件名样式返回 null,所以我将整个目标 url 从

file://image.png

cdvfile://localhost/persistent/image.png

现在一切正常。

【讨论】:

    猜你喜欢
    • 2020-03-22
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多