Reaction-Dropzone - Как читать файлы через папку? - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь использовать response-dropzone , и я пытаюсь прочитать все изображения папки, которая была перетащена в зону.

Я вижу, что у них есть пример .

const { getDroppedOrSelectedFiles } = require('html5-file-selector')

class FolderDropzone extends React.Component {
  constructor() {
    super()
    this.state = { files: [] }
  }

  onDrop(files) {
    this.setState({
      files
    })
  }

  render() {
    return (
      <section>
        <div className="dropzone">
          <Dropzone
            getDataTransferItems={evt => getDroppedOrSelectedFiles(evt).then(files => files)}
            onDrop={this.onDrop.bind(this)}
          >
            <p>Drop a folder with files here.</p>
          </Dropzone>
        </div>
        <aside>
          <h2>Dropped files and folders</h2>
          <ul>
            {this.state.files.map(f => (
              <li key={f.name}>
                {f.fullPath} - {f.size} bytes
              </li>
            ))}
          </ul>
        </aside>
      </section>
    )
  }
}

но, похоже, он не работает и не говорит, какой сторонний плагин используется.

Моя локальная копия получает эту ошибку

index.js:249 Failed to generate preview for file {fileObject: File(180093), fullPath: "1.jpeg", lastModified: 1538421964806, lastModifiedDate: Mon Oct 01 2018 12:26:04 GMT-0700 (Pacific Daylight Time), name: "1.jpeg", …} TypeError: Failed to execute 'createObjectURL' on 'URL': No function was found that matched the signature provided.
    at index.js:246
    at Array.forEach (<anonymous>)
    at index.js:243

        fileList.forEach(function (file) {
          if (!disablePreview) {
            try {
              file.preview = window.URL.createObjectURL(file); // eslint-disable-line no-param-reassign
            } catch (err) {
              if (process.env.NODE_ENV !== 'production') {
                console.error('Failed to generate preview for file', file, err); // eslint-disable-line no-console
              }
            }
          }

1 Ответ

0 голосов
/ 06 августа 2019

У меня было это точное требование, которое было просто, как пирог, так как я использовал antd , который использует rc-upload .Работает как шарм, и вы также получаете относительный путь к вашим разрешенным типам файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...