Pular para o conteúdo principal

UploadPhoto

O componente UploadPhoto é utilizado para permitir que usuários façam upload de imagens de perfil, documentos ou outros tipos de fotos, com opção de tirar foto com a câmera ou escolher da galeria.

Importação

import { UploadPhoto } from '@platformbuilders/fluid-react-native';

Exemplo Básico

<UploadPhoto
accessibility="upload-foto-perfil"
onUpload={(response) => console.log(response)}
/>

Exemplos

Com imagem pré-carregada

<UploadPhoto
accessibility="foto-perfil"
image="https://exemplo.com/imagem.jpg"
onUpload={(response) => console.log(response)}
/>

Com acesso à câmera

<UploadPhoto
accessibility="foto-documento"
displayCamera
onUpload={(response) => console.log(response)}
/>

Com textos e ícones personalizados

<UploadPhoto
accessibility="foto-produto"
uploadText="Adicionar foto do produto"
uploadIcon="camera"
deleteIcon="times-circle"
onUpload={(response) => console.log(response)}
onClearUpload={() => console.log('Foto removida')}
/>

Com qualidade de imagem personalizada

<UploadPhoto
accessibility="foto-documento"
imageQuality={0.8}
onUpload={(response) => console.log(response)}
/>

API

Props

PropTipoPadrãoDescrição
accessibilitystring-Identificador de acessibilidade (obrigatório)
idstring-ID opcional para o componente
accessibilityLabelstring-Rótulo de acessibilidade
imagestring-URL ou URI da imagem pré-carregada
imageQualitynumber0.5Qualidade da imagem (0 a 1)
displayCamerabooleanfalseSe deve exibir a câmera para captura
onPress(event) => void-Callback para quando o componente é pressionado
onUpload(response) => void-Callback para quando uma imagem é carregada
onClearUpload() => void-Callback para quando a imagem é removida
uploadTextstring'Adicionar Foto'Texto exibido no estado vazio
uploadIconSizenumber36Tamanho do ícone de upload
uploadIconstring'image'Nome do ícone de upload
deleteIconstring'trash'Nome do ícone de exclusão
testIDstring-ID para testes automatizados
iconTypeIconFontsIconFonts.FontAwesomeTipo de fonte de ícones

Métodos Acessíveis por Ref

O componente expõe os seguintes métodos via ref:

MétodoDescrição
getUploadImage()Retorna a imagem atualmente carregada
clearUploadImage()Limpa a imagem sem acionar o callback onClearUpload
takePicture()Tira uma foto usando a câmera quando displayCamera é true
openPicker()Abre o seletor de imagens nativo

Exemplo de uso:

const uploadRef = useRef(null);

// ...

<Button
accessibility="btn-tirar-foto"
onPress={() => uploadRef.current.takePicture()}
text="Tirar foto"
/>

<UploadPhoto
ref={uploadRef}
accessibility="upload-foto"
displayCamera
onUpload={(response) => console.log(response)}
/>

Notas de uso

  • O componente utiliza react-native-image-picker para selecionar imagens da galeria
  • Quando displayCamera é true, utiliza react-native-camera para captura direta
  • Para funcionamento correto, é necessário configurar as permissões no AndroidManifest.xml e Info.plist
  • Uma vez que uma imagem é carregada, um botão de exclusão aparece para permitir a remoção
  • O componente pode ser personalizado visualmente através de estilos do tema