我应该将什么 MIMEType 用于反应 dropzone 中的 .dat 文件?

What MIMEType should I use for .dat files in react dropzone?

我正在使用 React Dropzone 组件,我需要进行条件式化以显示文件是被接受还是被拒绝。它包括在拒绝文件时将边框颜色更改为红色,在接受文件时将边框颜色更改为蓝色。 MyDropzone

我只需要允许 .csv 和 .dat 文件。它使用接受参数作为 csv 的“application/vnd.ms-excel”。但是,我没有找到 .dat 文件的正确 MIMEType。我尝试了以下操作:

application/octet-stream

zz-application/zz-winassoc-dat

application/dat

当我在接受参数中只输入“.dat”时,输入限制只接受 .dat,但条件程式化不起作用,因为变量 isDragReject 和 isDragAccept 取不正确的值。

  const changeText=(isDragActive,isDragReject,isDragAccept)=>{

    return (
        <>
            <Typography sx={Styles.textBoard}>
                {(!isDragActive) && 'Drop files here or click to upload'}
                {(isDragActive && !isDragReject) && 'Drop files here'}
                {(isDragActive && isDragReject) && 'File not supported'}
            </Typography>
        </>
    )
}

<Dropzone accept={"application/vnd.ms-excel"} onDropAccepted={onUpload}>
            {({ getRootProps, getInputProps, isDragActive, isDragReject,isDragAccept }) => (
                <Box
                    {...getRootProps({
                        //loads the basic style
                        ...Styles.baseStyle,
                        //change the color in function of the file that 
                        //is being dragged over the area
                        ...(!isDragActive ? Styles.defaultStyle : {}),
                        ...(isDragReject ? Styles.rejectStyle : {}),
                        ...(isDragAccept ? Styles.acceptStyle : {})
                    })}
                        >
                    <CloudUpload className='ico' sx={Styles.uploadIcon}/>
                    {changeText(isDragActive,isDragReject)}
                    <input {...getInputProps()}/>
                </Box>
            )}
        </Dropzone>

我发现了问题,所以我要回答。我正在使用的 .dat 的 MIMEType 是未定义的(也许它很常见)。因此,在接受参数(希望接受 .csv 和 .dat)中,我只放置了 csv MIMEType 和一个空白(记住接受参数接收的输入类似于“MIMEType1,MIMEType2”。

所以是这样的:

<Dropzone accept={'application/vnd.ms-excel,    '} onDropAccepted={onUpload}>