获取文档选择器的路径后,iOS 上的 React-Native-pdf 加载失败

Posted

技术标签:

【中文标题】获取文档选择器的路径后,iOS 上的 React-Native-pdf 加载失败【英文标题】:React-Native-pdf load failed on ios after got path with document Picker 【发布时间】:2019-11-28 18:10:16 【问题描述】:

我正在使用 react-native-document-picker 来选择 PDF。选择后,我将文件的 URI 传递给 react-native-pdf 的 PDF。 它返回给我这个错误,但只在 ios 上。在 android 中工作正常。 有什么建议吗?

ON ERROR --- Error: Load pdf failed. path=file:///private/var/mobile/Containers/Data/Application/250D8D83-5F0F-402C-912B-F1B199551218/tmp/com.yada.nen-Inbox/Bolletta%20Luce%20a2a.pdf
at createErrorFromErrorData (NativeModules.js:152)
at NativeModules.js:104
at MessageQueue.__invokeCallback (MessageQueue.js:442)
at MessageQueue.js:127
at MessageQueue.__guard (MessageQueue.js:343)
at MessageQueue.invokeCallbackAndReturnFlushedQueue (MessageQueue.js:126)
at debuggerWorker.js:80

这就是我选择 PDF 的方式:

static pickPDF = async (callBack,goBack=()=>) => 
    try 
        const res = await DocumentPicker.pick(
            type: [DocumentPicker.types.pdf],
        );
        console.log("URI of the uploaded PDF: ", res.uri);

        callBack(res.uri, res.name);
     catch (err) 
        if (DocumentPicker.isCancel(err) ) 
            goBack();
         else 
            throw err;
        
    
;

下面是我使用 react-native-pdf 显示 PDF 的方式:

<Pdf
                    source=uri:"file://"+this.state.pdfUri, cache: false
                    horizontal
                    page=page
                    scrollEnabled=false
                    onError=(error)=>
                        console.log("ON ERROR ---",error);
                    
                    onPageChanged=this.onPageChanged
                    style=flex
                />

【问题讨论】:

解决了吗? 【参考方案1】:

这只是因为您的 pdf 文件在名称之间有空格删除空格然后检查它是否适合我。

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于获取文档选择器的路径后,iOS 上的 React-Native-pdf 加载失败的主要内容,如果未能解决你的问题,请参考以下文章

获取选择器的元素路径

如何在 React 中禁用 Material UI 的日期选择器的下划线?

LibreOffice 如何获取文件选择器的多个文件选择数据

无法识别的选择器在 iOS9 上的 facebook sdk 4.6 中发送到 facebook 登录管理器的实例

关于选择器的整理

vuejs在选择后获取日期选择器的值