DropZone:如何接受.csv文件?

问题描述 投票:2回答:1

我在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)?

dropzone react-dropzone
1个回答
1
投票

经过大量的试验和错误,这对我来说是有效的。

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,其余的都是以防万一。

© www.soinside.com 2019 - 2024. All rights reserved.