首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相当于react中的directory,mozdirectory和directory directory?

相当于react中的directory,mozdirectory和directory directory?
EN

Stack Overflow用户
提问于 2021-03-14 00:22:26
回答 1查看 109关注 0票数 1

我想使用react将目录上传到我的服务器,我尝试使用目录、mozdirectory和webKitDirectory属性,但它们不起作用,并且我试图运行下面的代码,但不幸的是,它不起作用。

代码语言:javascript
复制
function UploadDirectory() {
  function dirUploadAttr(input) {
    input.setAttribute("webkit-directory", "");
    input.setAttribute("moz-directory", "");
  }
  return (
      <input type="file" ref={dirUploadAttr} />
  )
}

如何在react中获取input标签中的目录?有效且简单的方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2021-08-31 20:25:51

老实说,我和我工作过的公司的一名团队成员已经研究了这个问题好几个星期了。问题是,我们为其制作应用程序的用户想要一种从目录中剥离文件并将其上传的方法,而不必双击目录本身来获取文件(例如,在upload菜单中单击包含该文件的文件夹,然后选择upload以上传整个文件夹)。经过不断的挖掘,我们与多个团队取得了联系,以便找到解决方案,他们告诉我们:“在React中不支持webkitdirectory(或任何类似的东西),这是由于Windows的限制。”我相信这可以在.NET时代完成,但是React的特定 html标签不支持webkitdirectory作为属性。相反,我们从节点模块react- dropzone -uploader中合并了一个dropzone:

代码语言:javascript
复制
import Dropzone from "react-dropzone-uploader";
import { getDroppedOrSelectedFiles } from './Html5FileSelector'

  const getFilesFromEvent = (e:any) => {
    return new Promise<any>(resolve => {
      getDroppedOrSelectedFiles(e).then(chosenFiles => {
        resolve(chosenFiles.map((f:any) => f.fileObject))
      })
    })
  };

  const handleSubmit = (files:any) => { this.fileChange(files); }

  <Dropzone accept=".txt" getFilesFromEvent={getFilesFromEvent} onSubmit= 
  {handleSubmit} />

请注意,您必须从Html5FileSelector实现一个函数,更多信息可以从演示dropzone上载程序的实时示例中获得,这也是到节点模块的官方文档的链接:https://react-dropzone-uploader.js.org/docs/examples#!/Custom%20Input,%20Directory%20Drag%20and%20Drop

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66615830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档