React Native. Не удается найти ошибку переменной с помощью response-native-fetch-blob

Я использую загружаемый PDF-файл с помощью response-native-fetch-blob. Но у меня появляется ошибка «Не удается найти переменную: получено».

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)
    }
}

Есть идеи или предложения? Заранее спасибо.


person valerybodak    schedule 28.02.2017    source источник


Ответы (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)    
        })
}
person Emilio Rodriguez    schedule 28.02.2017
comment
Это означает, что файл не может быть загружен. Вы обновили все необходимые разрешения? имеет ли приложение доступ к пути, по которому вы хотите его загрузить? доступен ли URL-адрес из местоположения приложения (вы можете попробовать открыть его в симуляторе)? - person Emilio Rodriguez; 28.02.2017
comment
Но файл .pdf был успешно загружен. - person valerybodak; 28.02.2017
comment
Тогда он может быть кэширован и, следовательно, на самом деле не загружен. Или, может быть, файл слишком мал, и он загружается менее чем за 250 мс, и в этом случае не хватает времени, чтобы подсчитать прогресс. Попробуйте использовать файл большего размера, например: iso.org/iso/annual_report_2009.pdf - person Emilio Rodriguez; 28.02.2017
comment
Я пробовал ваш PDF-файл и этот большой файл pepa.holla.cz/wp-content/uploads/2016/12/ и файлы были успешно загружены. Я проверил это с помощью Android Device Monitor. Но я все еще не вижу логов о прогрессе в консоли ... - person valerybodak; 28.02.2017