我应该将什么 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}>
我正在使用 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}>