Javascript 反应打开文件对话框

Javascript 反应打开文件对话框,javascript,reactjs,openfiledialog,Javascript,Reactjs,Openfiledialog,我试图用React打开一个文件对话框,以便用户可以选择一个文件夹并将文件保存在该特定文件夹中,但我无法做到这一点。目前我的代码如下所示:- const exportToCSV = (csvData, fileName) => { const ws = XLSX.utils.json_to_sheet(csvData); const wb = { Sheets: { 'data': ws }, SheetNames: ['data'] }; const excelBu

我试图用React打开一个文件对话框,以便用户可以选择一个文件夹并将文件保存在该特定文件夹中,但我无法做到这一点。目前我的代码如下所示:-

const exportToCSV = (csvData, fileName) => {
    const ws = XLSX.utils.json_to_sheet(csvData);
    const wb = { Sheets: { 'data': ws }, SheetNames: ['data'] };
    const excelBuffer = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });
    const data = new Blob([excelBuffer], {type: fileType});
    FileSaver.saveAs(data, fileName + fileExtension);
}

const openDialogWindow = () => {
     // Open dialog here and get the folder name
     exportToCSV(csvData, (folderName + fileName))     
};



return (
    <button
    id="btnExportToCSV"
    onClick={(e) => openDialogWindow()}
    >
        Export Tasks To Excel
    </button>
)
const exportToCSV=(csvData,文件名)=>{
const ws=XLSX.utils.json_to_表(csvData);
常量wb={Sheets:{'data':ws},SheetNames:['data']};
constExcelBuffer=XLSX.write(wb,{bookType:'XLSX',type:'array'});
const data=new Blob([excelBuffer],{type:fileType});
FileSaver.saveAs(数据、文件名+文件扩展名);
}
常量openDialogWindow=()=>{
//在此处打开对话框并获取文件夹名称
exportToCSV(csvData,(文件夹名+文件名))
};
返回(
openDialogWindow()}
>
将任务导出到Excel
)
因此,在我的openDialogWindow中,我希望可以选择打开对话框,让用户选择一个文件夹,然后将其附加到预定义的文件名。这将为用户提供将文件保存在其所选目录中的选项

这可能吗


谢谢你的帮助和时间

你用的是哪种包装?你能分享一个代码沙盒链接吗?我正在使用这两个库:-从“文件保护程序”导入*作为文件保存程序;从“XLSX”导入*作为XLSX;你能用工作的更新这个吗,这样我就可以检查这个缺少什么了,你如何传递参数csvData,文件夹和文件名OK更新了你的代码沙盒。csvData和Filename正在从另一个组件传递,我想用folderName覆盖该文件名(我从对话框+现有文件名中获得)无法打开浏览器本机另存为…对话框,这是浏览器设置和功能。您的用户可以根据自己的喜好进行配置。您的用户可以右键单击您的链接并按需保存,或者您可以开始自动下载您使用的软件包?您可以共享代码吗ox link我正在使用这两个库:-导入*作为“文件保护程序”中的文件保存器;导入*作为“XLSX”中的XLSX;您能否用工作库更新此库,以便我可以检查此库中缺少的内容,您如何传递参数csvData、文件夹和文件名OK更新了您的代码Sandbox。csvData和文件名正在从另一个组件传递,而我要使用folderName(我从对话框+现有文件名中获取)覆盖文件名无法打开浏览器本机另存为…对话框,这是浏览器设置和功能。用户可以根据自己的喜好进行配置。用户可以右键单击链接并按需保存,或者自动开始下载