我正在寻找一种通过文件对话框选择文件的方法。文件选择器需要:
- 仅限于目录选择
- 捕获所有选定的文件在一个单一的回调,以便他们可以被设置为一个状态
- 包括文件列表中所有文件的相对路径
我已经尝试了一些库中的文件选择器组件,如antd
、react-dropzone
、@rpldy/uploady
、react-file-reader
和react-file-picker
,但似乎没有一个能够满足所有这三个要求。
我正在寻找一种通过文件对话框选择文件的方法。文件选择器需要:
我已经尝试了一些库中的文件选择器组件,如antd
、react-dropzone
、@rpldy/uploady
、react-file-reader
和react-file-picker
,但似乎没有一个能够满足所有这三个要求。
2条答案
按热度按时间1u4esq0p1#
您可以使用Uploady实现这一点。
当为文件输入元素使用webkitdirectory标志时,您确实会根据规范在所有浏览器(至少chrome和firefox)中获得webkitRelativePath属性。
现在,要获取文件列表,可以使用useBatchAddListener钩子。
参见sandbox。
xuo3flqw2#
不确定是否有一个React库,但你可以看看File System Access API。虽然它只在Chrome中工作,但也许
<input type="file" webkitdirectory>
在其他浏览器中也能工作,足以满足你的需要。