Wgranie zdjęcia za pomocą formularza redux
Mam formularz respons.js redux, który działa i przesyła dane z powrotem do mojego API, ale muszę też zezwolić nadawcy na przesłanie obrazu wraz z formularzem, najlepiej z podglądem. Trochę się zmagałem i dotarłem do dropzone.js, ale nie mogę uzyskać mojego formularza, aby faktycznie POST dane obrazu z powrotem.
render () {
const FILE_FIELD_NAME = 'files'; const renderDropzoneInput = (field) => {
const files = field.input.value;
return ( <div>
<Dropzone
name={field.name}
onDrop={( filesToUpload, e ) => field.input.onChange(filesToUpload)}
>
<div>Try dropping some files here, or click to select files to upload.
</Dropzone>
{field.meta.touched &&
field.meta.error &&
<span className="error">{field.meta.error}</span>}
{files && Array.isArray(files) && ( [list]
{ files.map((file, i) => <li key={i}>{file.name}<img src={file.preview}/>[/*]) }
[/list]
)}
);
} return ( <form onSubmit={this.props.handleSubmit(this.onSubmit)}>
<div className="form-group">
<Field name="files" component={renderDropzoneInput}/>
<button type="submit" className="btn btn-default">Submit</button>
</form>
);
}
Zmienna
filesrzeczywiście jest przesyłana z powrotem do interfejsu API, co jest świetne, ale zawiera następujące elementy:
[preview=blob:[url=http://localhost:3000/bed3762e-a4de-4d19-8039-97cebaaca5c1]http://localhost:3000/bed3762e ... ca5c1[/url]]Czy ktoś może zasugerować, jak mogę pobrać rzeczywiste dane binarne do tej zmiennej?
Pełny kod jest dostępny tutaj
https://github.com/rushughes/d ... ex.js
https://github.com/rushughes/d ... ex.js
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
3 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Następnie wysyłasz Base64 lub ciąg binarny na serwer.
Mój przykładowy kod:
Jeśli chcesz wysłać ciąg binarny zamiast base64, zmień na a ten wiersz: można uprościć do
Anonimowy użytkownik
Potwierdzenie od:
Oto kroki funkcji : (jak obsługiwać dane obrazu w interfejsie API)
>
let formData = new FormData();formData.append('myFile', files[0]);
Anonimowy użytkownik
Potwierdzenie od:
http:// reactdropzone.azurewebsites.net/example
http://reactdropzone.azurewebsites.net/example/
/
Jaki kod można znaleźć tutaj:
https://react.rocks/example/React-Dropzone
https://react.rocks/example/React-DropzoneCo więcej, te rozwiązania pomogą Ci w jakiś sposób wyjść z problemu:
https://github.com/react-dropzone/react-dropzone
https://github.com/react-dropzone/react-dropzone
https://medium.com/technoetics ... 68f6b
https://medium.com/technoetics ... 68f6b
http:// blog.mauriziobonani.com/dropzone.js-react.js-and-fluxxor-integration
http://blog.mauriziobonani.com ... tion/
/
https://css-tricks.com/image-u ... react
https://css-tricks.com/image-u ... eact/
/
https://www.reddit.com/r/react ... react
https://www.reddit.com/r/react ... eact/
/