react中上传文件或者文件夹

react和UI插件antd:
render() {
  const menu = (<Menu className={'upload-menu-select'}>
    <Menu.Item key='1'>
        <label className={'upload-menu-select-item'} style={{cursor: "pointer"}} htmlFor="files-up">上传文件</label>
        <input type="file" multiple accept="*/*" style={{display: "none"}} id="files-up"
               onChange={() => this.multipartUpload("files-up")}/>
    </Menu.Item>
    <Menu.Item key='2'>
        <label className={'upload-menu-select-item'} style={{cursor: "pointer"}}
               htmlFor="folder-up">上传文件夹</label>
        <input type="file" multiple accept="*/*" style={{display: "none"}} id="folder-up" webkitdirectory="true"
               onInput={() => this.multipartUpload("folder-up")}/>
    </Menu.Item>
 </Menu>);
 return (<Dropdown overlay={menu} disabled={hasSelected}>
    <Button
        className={'upload-btn'}
        type="primary"
        htmlFor="files-up"
        style={cursor: "pointer"}}>
        <img src={require('../assets/img/icon-upload.png')} alt=""/>上传
        <input className="plupload btn-upload-dss" value="" multiple={true}
               type={hasSelected ? '' : "file"} id="file"
               onChange={() => this.multipartUpload("file")}/>
    </Button>
 </Dropdown>)
}

/**文件上传触发事件/

/*文件开始上传前大小判断以及请求callbackUrl*/

/*最后触发上传文件或者文件夹*/

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于 React 文件管理器,你可以使用 React 构建一个交互式的文件浏览器。下面是一个简单的实现示例,你可以根据自己的需求进行修改和扩展: ```jsx import React, { useState } from 'react'; function FileManager() { const [currentPath, setCurrentPath = useState('/'); // 当前路径 const [files, setFiles = useState([]); // 文件列表 // 模拟获取文件列表的操作 const fetchFiles = (path) => { // 这里可以调用后端接口获取指定路径下的文件列表 // 假设返回的数据结构为 { name: string, isDirectory: boolean }[] const fetchedFiles = /* 调用后端接口获取文件列表的代码 */; setFiles(fetchedFiles); }; // 处理点击文件夹的操作 const handleFolderClick = (folder) => { if (folder.isDirectory) { setCurrentPath(`${currentPath}/${folder.name}`); fetchFiles(`${currentPath}/${folder.name}`); } }; return ( <div> <div>当前路径: {currentPath}</div> <ul> {files.map((file) => ( <li key={file.name} onClick={() => handleFolderClick(file)}> {file.name} </li> ))} </ul> </div> ); } export default FileManager; ``` 这个示例,我们使用了 React 的 `useState` 来管理当前路径和文件列表。我们通过调用 `fetchFiles` 函数模拟获取文件列表的操作,并通过 `handleFolderClick` 处理文件夹的点击事件,实现了简单的文件夹导航功能。 你可以根据实际需求进行修改和扩展,比如添加文件上传、删除等操作。希望这个示例能对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值