A dúvida não é de um curso em específico, mas sim algo que tentei fazer... Usando React verifico o desenvolvimento do site no meu celular... Até aí tudo certo, porém, tentei fazer o upload de uma imagem com:
<input
onChange={this.mostra}
type="file"
accept="image/jpeg"
name="img"
id="perfilfoto"/>
E uso essa função para mostrar a imagem na tela antes de ser enviada ao backend:
mostra = ()=> {
var doc = document.querySelector("#perfilfoto");
let fread = new FileReader();
fread.readAsDataURL(doc.files[0]);
fread.onloadend = event => {
this.setState({url: ""});
this.setState({fat: event.target.result});
}
}
Procurei um pouco e cheguei a isso:
mostra = ()=> {
let doc = document.querySelector("#perfilfoto")
let fread = new FileReader()
fread.onloadend = event => {
let photoExif = event.target.result
let dataURL =
`data:${ doc.files[0].type };base64,${
btoa(
photoExif.match(/Orientation>3/)? photoExif.replace(/Orientation>3/, 'Orientation>1')
: photoExif.match(/Orientation>6/)? photoExif.replace(/Orientation>6/, 'Orientation>8')
: photoExif
) }`;
this.setState({ url: '' })
this.setState({ fat: dataURL })
}
fread.readAsBinaryString( doc.files[0] )
}
Porém, a imagem continua rotacionada... Se puderem me mostrar o erro ou indicar um norte, agradeço desde já a atenção...