Ich versuche, es so zu machen, dass ein Benutzer ein Symbol aus dem Webbrowser auf ihren Desktop ziehen kann, und eine Textdatei ist erstellt. Ich habe den Inhaltsteil unten, aber ich kann nicht herausfinden, wie man den Dateinamen einstellt. Ich habe versucht, dataTransfer.files
mutieren, aber das ist schreibgeschützt. Ich bin mir nicht sicher, wie ich das erreichen soll.HTML Ziehen/Ablegen - wie den Dateinamen eines * ausgehenden * ziehen (auf dem Desktop)
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>
}
}
http://embed.plnkr.co/ar3deFFvedcWhVfwt6c6/
_ "Ich habe den Inhalt Teil nach unten bekam" _ Können Sie stacksnippets erstellen oder plnkr http://plnkr.co zu demonstrieren? – guest271314
@ guest271314 Der obige Code tut genau das (Drag/Drop auf den Desktop, eine Datei wird erstellt). Ich füge einen Plunker-Link hinzu. – ffxsam
Keine Datei wird hier bei PLNKR erstellt, indem auf den Desktop gezogen wird, nur wenn Element bei PLNKR in einen Dateimanager gezogen wird, wird _link_ zu Datei erstellt; siehe http://stackoverflow.com/questions/5416748/drag-a-file-from-browser-to-desktop?rq=1#comment53385290_5416795. Mit diesem Ansatz http://stackoverflow.com/questions/29343897/drag-file-in-data-uri-format-from-browser-to-desktop können Sie den Link zum Dateinamen festlegen, indem Sie ".innerHTML" von zum Beispiel ein '' Element, das zum Dateimanager gezogen wird. – guest271314