Как я могу сделать выбранный тип файла приемлемым только как docx, используя FilePond? - PullRequest
3 голосов
/ 04 мая 2020

Как я могу сделать выбранный тип файла приемлемым только как docx? Я хочу, чтобы выбранный файл имел расширение docx. Какой тип фильтрации я должен применить? Как я могу это сделать?

Пример кода реакции

return (
    <>
        <Form className='orange-color ml-2'>
            <FilePond
                ref={ref => (ref)}
                allowFileEncode={true}
                allowMultiple={false}
                oninit={() =>
                    console.log("FilePond "+formKey.toString()+" has initialised")
                }

                onupdatefiles={(fileItems) => {
                    const file = fileItems.map(fileItem => fileItem.file)

                    if (file[0]) {
                        const reader = new FileReader();
                        reader.readAsDataURL(file[0]);

                        reader.onload = (event) => {
                            const convertedResult = event.target.result

                            if (convertedResult) {
                                const regex = '(.*)(base64,)(.*)';
                                const matches = convertedResult.match(regex);
                                const val = matches[3];

                                changeSelected(val)
                            }
                        };
                    }
                }

                }
            />
            <Form.Check>
                <Form.Check.Input required
                                  checked={input.value !== null}
                                  style={{display:'none' }}
                />
                <Form.Control.Feedback type="invalid" >Required</Form.Control.Feedback>
            </Form.Check>
        </Form>
    </>
)

Ответы [ 3 ]

1 голос
/ 04 мая 2020

Плагин проверки типа файла обрабатывает блокировку файлов неправильного типа. При создании экземпляра FilePond на основе файла типа ввода этот плагин автоматически интерпретирует значение атрибута accept.

https://github.com/pqina/filepond-plugin-file-validate-type

0 голосов
/ 05 мая 2020
acceptedFileTypes={'application/vnd.openxmlformats-officedocument.wordprocessingml.document'} 

Пример кода

<Form className='orange-color ml-2'>
                    <FilePond
                        ref={ref => (ref)}
                        allowFileEncode={true}
                        allowMultiple={false}
                        acceptedFileTypes={'application/vnd.openxmlformats-officedocument.wordprocessingml.document'}

......
0 голосов
/ 04 мая 2020

Filepond имеет плагин для типов файлов: https://pqina.nl/filepond/docs/patterns/plugins/file-validate-type/

...