HTML拖放 - 如何设置*传出*拖动的文件名(到桌面)

ffx*_*sam 14 javascript reactjs

我正在努力使用户可以将图标从Web浏览器拖到他们的桌面,并创建一个文本文件.我有内容部分,但我无法弄清楚如何设置文件名.我试过变异,dataTransfer.files但这是只读的.我不知道如何实现这一目标.

class CrashReport extends React.Component {
  dragStart(event) {
    const dat = {name: 'test!', crashDate: new Date()};

    event.dataTransfer.name = 'tmp.txt'; // bad
    event.dataTransfer.setData('text/plain', JSON.stringify(dat, null, 2));
    console.log(event.dataTransfer);
  }

  render() {
    return <div draggable onDragStart={this.dragStart.bind(this)}>
      Drag This
    </div>
  }
}
Run Code Online (Sandbox Code Playgroud)

http://embed.plnkr.co/ar3deFFvedcWhVfwt6c6/

San*_*jne -3

你可以写

event.dataTransfer.setData = ('text', 'tmp.txt');
Run Code Online (Sandbox Code Playgroud)