RN查看文檔組件react-native-doc-viewer踩坑

背景:我們的應(yīng)用是RN實(shí)現(xiàn)的蔼夜,這次需要增加一個(gè)上傳下載并打開查看本地文檔的功能矩欠,于是就用到了這個(gè)查看文檔這個(gè)組件猾蒂,不過這次遇到一個(gè)蠻大的坑就是在安卓上使用出現(xiàn)如下的錯(cuò)誤,這個(gè)錯(cuò)誤耽擱了我1隐孽、2天時(shí)間癌椿,所以有必要記錄一下

我結(jié)合了上傳組件:react-native-file-selector? ? 以及下載組件:react-native-fs一起實(shí)現(xiàn)的這個(gè)功能,具體的使用可以查看我的其他博文

react-native-doc-viewer菱阵,可以在手機(jī)上直接打開文檔踢俄,支持遠(yuǎn)程和本地文檔。

支持的文檔格式:xls,ppt,doc,xlsx,pptx,docx,png,jpg,pdf,mp4送粱。支持iOS和Android褪贵。

這里我是做安卓的,所以主要描寫安卓相關(guān)的

插件安裝我就不多寫了抗俄,具體配置官網(wǎng)作者寫的很清楚:

組件的Github地址

安裝的時(shí)候需要注意的:

link完了手動(dòng)檢查一下安卓的各個(gè)目錄下的配置


下面附上我的一部分程序?qū)崿F(xiàn):

這里需要注意的是:

1脆丁,OpenFile.openDoc這個(gè)方法里,對(duì)于安卓的url需要加"file://"动雹,而ios不需要加

2槽卫,downloadDest就是你下載的文檔地址,這里我的地址用的是 :

? ? ? ?let dirs =Platform.OS ==='ios' ? RNFS.LibraryDirectoryPath : RNFS.ExternalStorageDirectoryPath;

? ? ? ?let downloadDest =`${dirs}/fileloca/`;

2胰蝠,里面的安卓的fileName和ios的fileNameOptional可以任意取歼培,這里我放的是我的文件名

3,安卓的fileType是沒有“.”的

/**

* 查看本地文檔

* fileType Default == "" you can use it, to set the File Extension

* (pdf,doc,xls,ppt etc) when in the Url the File Extension is missing.

*/

onPressLocalFile(downloadDest, fileName) {

? ? this.mkDir();

? ? console.log('onPressLocalFile: ', downloadDest, fileName)

? ? let fileType = fileName.substring(fileName.lastIndexOf('.') +1)

? ? let iosUrl = downloadDest +'/' + fileName

? ? let androidUrl ="file://" + downloadDest + fileName

? ?let filename = fileName.substring(0,fileName.lastIndexOf('.'))

? ?this.setState({animating:true});

? ? if (Platform.OS ==='ios') {

? ? ? ? ? ? OpenFile.openDoc([{

? ? ? ? ? ? url: iosUrl,

? ? ? ? ? ? fileNameOptional: filename

}], (error, url) => {

? ? ? ? ? ?if (error) {

? ? ? ? ? ? ? ? ?this.setState({animating:false});

? ? ? ? ? ? }else {

? ? ? ? ? ? ? ? ? ?this.setState({animating:false});

? ? ? ? ? ? ? ? ? ?console.log(url)

? ? ? ? ? ? }

? })

}else {

? ? OpenFile.openDoc([{

? ? ? ? ? ? url: androidUrl,

? ? ? ? ? ? fileName: filename,

? ? ? ? ? ? cache:false,

? ? ? ? ? ? fileType: fileType

}], (error, url) => {

? ? ?if (error) {

? ? ? ? ? ? ?this.setState({animating:false});

? ? ? }else {

? ? ? ? ? ? ?this.setState({animating:false});

? ? ? ? ? ? ? console.log(url)

? ? ? ?}

? ? })

? }

}

就這樣寫完后我跑了下程序茸塞,然后就報(bào)下面這種錯(cuò)躲庄,讓我頭疼了1、2天钾虐,心累

Failed to find configured root that contains

簡(jiǎn)直太難受了噪窘,試了很多種網(wǎng)上的方法都沒能訪問到這個(gè)根目錄

最后在主app的path目錄下再加了一個(gè)和他組件下的path名稱一樣的才解決了這個(gè)問題

1,組件自己目錄結(jié)構(gòu)

2效扫,主APP下添加的文件:

簡(jiǎn)直了倔监,改完直接想罵人了都,之前寫原生的時(shí)候文件名一樣的多寫一個(gè)都怕引用會(huì)錯(cuò)啥的菌仁,這RN的組件也是讓我服了浩习,必須記錄,以后引用RN組件的時(shí)候要多考慮下這些東西济丘,至于這個(gè)filePath呢是安卓原生的東西谱秽,就是系統(tǒng)存儲(chǔ)name和路徑,不知道的百度一下就懂了


想看下載文檔程序的看下一篇文檔:RN下載組件react-native-fs

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市疟赊,隨后出現(xiàn)的幾起案子辱士,更是在濱河造成了極大的恐慌,老刑警劉巖听绳,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異异赫,居然都是意外死亡椅挣,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門塔拳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鼠证,“玉大人,你說我怎么就攤上這事靠抑×烤牛” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵颂碧,是天一觀的道長(zhǎng)荠列。 經(jīng)常有香客問我,道長(zhǎng)载城,這世上最難降的妖魔是什么肌似? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮诉瓦,結(jié)果婚禮上川队,老公的妹妹穿的比我還像新娘。我一直安慰自己睬澡,他們只是感情好固额,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著煞聪,像睡著了一般斗躏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音撒妈,去河邊找鬼伦乔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛依鸥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼桑李,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起贵白,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤率拒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后禁荒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體猬膨,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年呛伴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了勃痴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡热康,死狀恐怖沛申,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情姐军,我是刑警寧澤铁材,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站奕锌,受9級(jí)特大地震影響著觉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜惊暴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一固惯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧缴守,春花似錦葬毫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至村砂,卻和暖如春烂斋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背础废。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工汛骂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人评腺。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓帘瞭,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蒿讥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蝶念,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354