react native 頭像上傳 react-native-image-crop-picker

之前用的是react-native-image-picker游桩,但是當(dāng)往服務(wù)器端傳的時(shí)候才發(fā)現(xiàn)羹铅,因?yàn)闆](méi)有圖片裁切香缺,所以圖片過(guò)大,無(wú)法保存苫幢,所以只好更換成react-native-image-crop-picker访诱。
react-native-image-crop-picker 不像 react-native-image-picker 直接就有彈出框,然后根據(jù)選擇跳入到相應(yīng)的相機(jī)或相冊(cè)中韩肝,所以需要我們自定義彈出框触菜,這里使用的是 modal。
react-native-image-crop-picker 的導(dǎo)入及配置這里就不說(shuō)了哀峻,可以參考github上:
https://github.com/ivpusic/react-native-image-crop-picker
1涡相、自定義彈出框(modal)
react native 提供的 Alert 局限性較大,沒(méi)有辦法自定義剩蟀,所以我這里選擇用 Modal 來(lái)實(shí)現(xiàn)催蝗。
簡(jiǎn)單了解:Modal組件可以用來(lái)覆蓋包含 react native 根視圖的原生視圖,在嵌入 react native 的混合應(yīng)用中可以使用 modal育特,modal 可以使你應(yīng)用中 RN 編寫的那部分內(nèi)容覆蓋在原生視圖上顯示丙号。
常見屬性:

visible // 是否可見  false/true
animationType  // 動(dòng)畫  none:無(wú)/slide:從底部/fade:淡入淡出            
transparent = {true}  // 是否默認(rèn)半透明
onRequestClose={()=> this.onRequestClose()}  // 彈出框關(guān)閉回調(diào)
<View >
    <Modal
       visible={this.state.modalVisible}
        animationType={'fade'}
        transparent = {true}
        onRequestClose={()=> this.onRequestClose()}
    >
        <View style={styles.alertBackground}>
            <View style={styles.alertBox}>
                <Text style={styles.modalTitle}>請(qǐng)選擇</Text>
                <TouchableHighlight underlayColor={'#F5F5F5'} onPress={this._openCamera}>
                    <Text style={styles.modalItem}>打開相機(jī)</Text>
                </TouchableHighlight>
                <TouchableHighlight underlayColor={'#F5F5F5'} onPress={this._openPicker}>
                    <Text style={styles.modalItem}>打開相冊(cè)</Text>
                </TouchableHighlight>
                <TouchableHighlight underlayColor={'#F5F5F5'} onPress={this._closeModal}>
                    <Text style={styles.modalItem}>取消</Text>
                </TouchableHighlight>
            </View>
        </View>
    </Modal>
</View>

用 state 中 modalVisible 的狀態(tài)來(lái)管理彈出框的顯示與關(guān)閉。
style樣式:

alertBackground:{
    flex:1,
    alignItems:'center',
    justifyContent:'center',
    backgroundColor:'rgba(0, 0, 0, 0.5)’,  // 如果要遮罩要顯示成半透明狀態(tài),這里一定要設(shè)置犬缨,reba中的a控制透明度喳魏,取值在 0.0 ~ 1.0 范圍內(nèi)。
},

alertBox: {
    width:200,
    height:175,
    backgroundColor:'white',
},

_openCamera: // 調(diào)用相機(jī)遍尺,這里就要用到 react-native-image-crop-picker 了截酷,所以記得 import 它涮拗。
// 是一個(gè)異步加載乾戏,當(dāng)正確是返回 image ,這里面就是我們需要的圖片信息三热。

ImagePicker.openCamera({
    width:300,
    height:400,
    cropping:true
}).then(image => {
    let source = {uri: image.path};

    this._fetchImage(image);

    this.setState({
        avatarSource: source  // 將圖片存于本地
    });
});

_openPicker: // 調(diào)用相冊(cè)

ImagePicker.openPicker({
    width:300,
    height:400,
    cropping: true
}).then(image => {
    let source = {uri: image.path};

    this._fetchImage(image);

    this.setState({
       avatarSource: source
    });
});

將圖片文件上傳:

_fetchImage(image) {
    let url = “http:鼓择。。就漾。呐能。。抑堡。摆出。∈籽”; // 接口地址
    let file = {uri: image.path, type: 'multipart/form-data', name:’image.png' } ; // file 中這三個(gè)元素缺一不可偎漫。 type 必須為 multipart/form-data。

    let formData = new FormData();
    formData.append('file', file); // 這里的 file 要與后臺(tái)名字對(duì)應(yīng)有缆。

    fetch(url,{
        method:'POST',
        headers:{
            'Content-Type':'multipart/form-data',
        },
        body:formData,
    }).then(function (response) {
        console.log("response",response);
        return response.json();
    })
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末象踊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子棚壁,更是在濱河造成了極大的恐慌杯矩,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件袖外,死亡現(xiàn)場(chǎng)離奇詭異史隆,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)曼验,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門逆害,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人蚣驼,你說(shuō)我怎么就攤上這事魄幕。” “怎么了颖杏?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵纯陨,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng)翼抠,這世上最難降的妖魔是什么咙轩? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮阴颖,結(jié)果婚禮上活喊,老公的妹妹穿的比我還像新娘。我一直安慰自己量愧,他們只是感情好钾菊,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著偎肃,像睡著了一般煞烫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上累颂,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天滞详,我揣著相機(jī)與錄音,去河邊找鬼紊馏。 笑死料饥,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的朱监。 我是一名探鬼主播岸啡,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼赌朋!你這毒婦竟也來(lái)了凰狞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤沛慢,失蹤者是張志新(化名)和其女友劉穎赡若,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體团甲,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逾冬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了躺苦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片身腻。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖匹厘,靈堂內(nèi)的尸體忽然破棺而出嘀趟,到底是詐尸還是另有隱情,我是刑警寧澤愈诚,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布她按,位于F島的核電站牛隅,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏酌泰。R本人自食惡果不足惜媒佣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望陵刹。 院中可真熱鬧默伍,春花似錦、人聲如沸衰琐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)碘耳。三九已至显设,卻和暖如春框弛,著一層夾襖步出監(jiān)牢的瞬間辛辨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工瑟枫, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留斗搞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓慷妙,卻偏偏與公主長(zhǎng)得像僻焚,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子膝擂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 持續(xù)更新中...... 一套企業(yè)級(jí)的 UI 設(shè)計(jì)語(yǔ)言和 React 實(shí)現(xiàn)虑啤。 https://mobile.ant....
    日不落000閱讀 5,660評(píng)論 0 35
  • 簡(jiǎn)短說(shuō)明 收錄一些好用的RN第三方組件,以方便日常的使用架馋,大家有什么推薦的也可以跟我說(shuō)狞山,我加進(jìn)去。如有冒犯叉寂,可以聯(lián)...
    以德扶人閱讀 43,611評(píng)論 44 214
  • React Native優(yōu)秀博客萍启,以及優(yōu)秀的Github庫(kù)列表(很多英文資料源自于[awesome-react-n...
    董董董董董董董董董大笨蛋閱讀 10,588評(píng)論 4 162
  • 都是屬于課后補(bǔ)的,摘抄吧屏鳍! 寬容勘纯,是只能在可能自主的環(huán)境下發(fā)生的。作為一種主觀態(tài)度钓瞭,寬容也是只能對(duì)權(quán)力和權(quán)威而言的...
    兮兮0225閱讀 181評(píng)論 0 0
  • 我們談到管理中的價(jià)值觀驳遵,就必須理清什么是正確的價(jià)值觀,理清價(jià)值中人與錢的關(guān)系山涡,人與事的關(guān)系堤结,管理中的價(jià)值關(guān)系搏讶。管理...
    保爾感悟閱讀 1,969評(píng)論 0 3