DropZone:如何接受 .csv 文件?

Vik*_*ikR 7 react-dropzone dropzone

我已经阅读了很多关于此的答案,并且大多数建议使用该acceptedFiles属性来指定接受的 mime 类型。

但是,DropZone 文档说

Mime 类型确定跨平台不可靠。例如,CSV 文件在 macOS 下报告为 text/plain,但在 Windows 下报告为 application/vnd.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}
  />
Run Code Online (Sandbox Code Playgroud)

...等,但到目前为止还没有工作:

  • 打开文件对话框将文件显示.csv为灰色
  • .csv文件拖放到 DropZone 会得到“文件 SeriesNotes.csv 被拒绝。不支持文件类型”。信息

material-ui-dropzone(或任何版本的 DropZone)解决这个问题的正确方法是什么?

use*_*752 11

经过大量的反复试验,这对我有用。

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"]}
Run Code Online (Sandbox Code Playgroud)

Windows 上的主要文件是 .csv,其余的以防万一。