我在SO上读了不少关于这个问题的答案,大多数人建议使用的是 acceptedFiles
属性来指定接受的mime类型。
然而, DropZone文档中说:
不同平台的MIME类型确定不可靠。例如,CSV文件在MacOS下报告为textplain,但在Windows下报告为applicationvnd.ms-excel。在某些情况下,可能根本没有设置mime类型。
我试图上传一个.csv文件,并且(使用 material-ui-dropzone
),目前我已经试过了:
<Dropzone
acceptedFiles={['.csv', 'text/*']}
showPreviews={true}
showFileNamesInPreview={true}
/>
<Dropzone
acceptedFiles={'.csv', 'text/*'}
showPreviews={true}
showFileNamesInPreview={true}
/>
<Dropzone
acceptedFiles={'.csv', 'text/csv'}
showPreviews={true}
showFileNamesInPreview={true}
/>
...等等,但到目前为止都没有效果。
.csv
灰色的文件.csv
文件到DropZone会得到 "文件SeriesNotes.csv被拒绝。文件类型不支持。文件类型不支持。"消息的正确解法是什么?material-ui-dropzone
(或任何版本的DropZone)?
经过大量的试验和错误,这对我来说是有效的。
acceptedFiles={[".csv, text/csv, application/vnd.ms-excel, application/csv, text/x-csv, application/x-csv, text/comma-separated-values, text/x-comma-separated-values"]}
在windows上主要是.csv,其余的都是以防万一。