Загрузить файлы в React Native с использованием данных формы - PullRequest
0 голосов
/ 18 июня 2020

Мне нужно загрузить файлы, если они выбраны (длина не определена). Но он не загружается, когда я загружаю больше 1. Если я загружаю только 1, он работает.

export const uploadDocumentAction = (profpic, cvValue, medSchoolValue, prcValue) => {
    return async (dispatch) => {
        dispatch(uploadDocument());
        try {

            await AsyncStorage.getItem('accessToken', (error, accessToken) => {
                var body;
                body = new FormData();
                 if(profpic.length==undefined){
                body.append('document', { uri: profpic.uri,  name: profpic.filename, type: profpic.type });
                }
                if(cvValue.length==undefined){
                    body.append('curriculum', { uri: cvValue.uri,  name: cvValue.filename, type: cvValue.type });
                }
                if(medSchoolValue.length==undefined){
                    body.append('cert_med', { uri: medSchoolValue.uri,  name: medSchoolValue.filename, type: medSchoolValue.type });
                }
                if(prcValue.length==undefined){
                    body.append('license', { uri: prcValue.uri,  name: prcValue.filename, type: prcValue.type });
                }
                fetch(Endpoint.UPLOAD_DOCUMENT_URL, {
                    method: 'POST',
                    headers: {
                        'Content-Type': 'multipart/form-data',
                        Authorization: `Bearer ${accessToken}`
                    },
                    body: body
                })
                    .then((response) => response.json())
                    .then((responseJson) => {
                        console.log('document', responseJson)
                        dispatch(uploadDocumentSuccess(responseJson));

                    })
                    .catch((error) => {
                        console.log('error', error);
                        dispatch(uploadDocumentFailed())
                    })
            });
        } catch (error) {
            console.log('what is the problemy', error);
            dispatch(uploadDocumentFailed('Internal Server Error'))
        }
    }
}
...