Sto cercando di fare in modo che un utente può trascinare un'icona dal browser web al proprio desktop, e un file di testo è creato. Ho la parte del contenuto verso il basso, ma non riesco a capire come impostare il nome del file. Ho provato a cambiare il codice dataTransfer.files
ma è di sola lettura. Non sono sicuro di come farlo.trascinamento HTML/drop - come impostare il nome del file di un * in uscita * trascinamento (per 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/
_ "Ho avuto la parte di contenuti verso il basso" _ Si può creare uno stacksnippets o plnkr http://plnkr.co di dimostrare? – guest271314
@ guest271314 Il codice sopra fa esattamente quello (trascina/rilascia sul desktop, viene creato un file). Aggiungerò un link Plunker. – ffxsam
Nessun file viene creato qui su plnkr trascinandolo sul desktop, solo quando si trascina l'elemento su plnkr su un file manager è un _link_ al file creato; vedi http://stackoverflow.com/questions/5416748/drag-a-file-from-browser-to-desktop?rq=1#comment53385290_5416795. Pur utilizzando questo approccio http://stackoverflow.com/questions/29343897/drag-file-in-data-uri-format-from-browser-to-desktop puoi impostare il link al nome del file impostando '.innerHTML' di per esempio un elemento '' che viene trascinato su file manager. – guest271314