React-Native, Pdf отображается на симуляторе Android, но получает ошибку на реальном устройстве Android - PullRequest
0 голосов
/ 23 апреля 2019

Я установил пакетыact-native-pdf и rn-fetch-blob, чтобы показать файл pdf. На симуляторе все в порядке, но по какой-то причине я получаю сообщение «Ошибка: ошибка открытия: ENOENT (нет такого файла или каталога)» .

Вот мой код ниже:

import React, { Component } from 'react';
import {
  StyleSheet,
  Dimensions,
  View
} from 'react-native';

import Pdf from 'react-native-pdf';


// Screen that shows the contents of a PDF
export default class OpenPdf extends Component {

  static navigationOptions = {
    title: 'Product Variants'
  };

  render() {
    const source = require('../assets/Product_Variants_Electric_Connections.pdf');

    return (
        <View style={{width: '100%', height: '100%'}}>
          <Pdf style={styles.pdf}
          source={source}

          onLoadComplete={(numberOfPages, filePath) => {
              alert(`number of pages: ${numberOfPages}`);
          }}
          onPageChanged={(page, numberOfPages) => {
              alert(`current page: ${page}`);
          }}
          onError={(error) => {
              alert(`error`+error);
          }}
      />
      </View>
  );
  }
}

const styles = StyleSheet.create({
  container: {
      flex: 1,
      justifyContent: 'center',
      alignItems: 'center'
  },
  pdf: {
      flex: 1,
      width: Dimensions.get('window').width
  }
});

Я уже перебрал много ссылок, ни одна из проблем не похожа на мою. Пожалуйста, подскажите, что мне не хватает.

1 Ответ

0 голосов
/ 23 апреля 2019

Как предложено @Hardik Virani выше в комментарии, я удалил локальный URL и сделал, как показано ниже:

render() {
    const source = {uri:'bundle-assets://Product_Variants_Electric_Connections.pdf', cache: true};

    return (
        <View style={{width: '100%', height: '100%'}}>
          <Pdf style={styles.pdf}
          source={source}

      />
      </View>
  );

И помните Просто поместите ваш фактический pdf в android / app / src /папка main / assets / pdf вашего проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...