【问题标题】:React Native. "Can't find variable" error with react-native-fetch-blob反应原生。 react-native-fetch-blob 出现“找不到变量”错误
【发布时间】:2017-02-28 11:01:01
【问题描述】:

我正在使用 react-native-fetch-blob 实现下载 PDF 文件。但我有一个错误“找不到变量:已收到

onPDFPressed(){        
    RNFetchBlob
        .config({
            notification: true,
            path: 'downloads/pdf_test.pdf',
            indicator: true,
            overwrite: true,
            addAndroidDownloads: {
                path: RNFetchBlob.fs.dirs.SDCardDir +'/downloads/pdf_test.pdf',
                useDownloadManager: true,
                notification: true,
                overwrite: true,
                description: 'downloading content...',
                mime: 'application/pdf',
                mediaScannable: false
            }
        })
        .fetch('GET', 'http://www.pdf995.com/samples/pdf.pdf')
        .progress(received, total)
    {
        console.log('progress', received / total)
    }
}

有什么想法或建议吗?提前致谢。

【问题讨论】:

    标签: react-native react-native-fetch-blob


    【解决方案1】:

    progress函数需要获取一个函数,而不是两个变量作为参数。这是您需要更改的内容:

    onPDFPressed(){        
        RNFetchBlob
            .config({
                notification: true,
                path: 'downloads/pdf_test.pdf',
                indicator: true,
                overwrite: true,
                addAndroidDownloads: {
                    path: RNFetchBlob.fs.dirs.SDCardDir +'/downloads/pdf_test.pdf',
                    useDownloadManager: true,
                    notification: true,
                    overwrite: true,
                    description: 'downloading content...',
                    mime: 'application/pdf',
                    mediaScannable: false
                }
            })
            .fetch('GET', 'http://www.pdf995.com/samples/pdf.pdf')
            .progress((received, total) => {
                console.log('progress', received / total)    
            })
    }
    

    【讨论】:

    • 表示无法下载文件。您是否更新了所有需要的权限?该应用程序可以访问您要下载的路径吗?是否可以从应用位置访问 url(您可以尝试在模拟器上打开它)?
    • 但是.pdf文件已经下载成功了。
    • 那么它可能会被缓存,因此不会真正下载。或者文件太小,下载时间不到 250 毫秒,在这种情况下,没有足够的时间来计算进度。尝试使用更大的文件,例如:iso.org/iso/annual_report_2009.pdf
    • 我试过你的pdf文件,这个大文件pepa.holla.cz/wp-content/uploads/2016/12/…和文件已成功下载。我已经用 Android 设备监视器检查了它。但是我仍然没有在控制台中看到有关进度的日志...
    猜你喜欢
    • 1970-01-01
    • 2019-10-05
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多