Sono impressionato dalla capacità di Gmail di lasciarti trascinare i file nelle e-mail per gli allegati, ma quando provo a trascinarne una cartella, dice che il file ha 0 byte. Si tratta di una limitazione di Gmail, o è qualcosa che fondamentalmente non è fattibile con le attuali specifiche HTML 5?L'HTML 5 può trascinare e rilasciare le cartelle?
risposta
ora CARICA directory disponibili su Chrome
è possibile selezionare directory utilizzando il tipo di ingresso
<input type='file' webkitdirectory >
ed è possibile trascinare rilasciare una cartella
<div id="dropzone"></div>
var dropzone = document.getElementById('dropzone');
dropzone.ondrop = function(e) {
var length = e.dataTransfer.items.length;
for (var i = 0; i < length; i++) {
var entry = e.dataTransfer.items[i].webkitGetAsEntry();
if (entry.isFile) {
... // do whatever you want
} else if (entry.isDirectory) {
... // do whatever you want
}
}
};
È possibile utilizzare 'webkitRelativePath'? http://www.htmlfivewow.com/slide18 – est
l'ID per il div ha alcune citazioni strani ricci. Mi chiedevo perché non funzionava quando l'ho incollato sul mio editor. –
L'attuale draft of html5 supporta solo un oggetto elenco file per la gestione degli eventi getData . in modo da poter trascinare più file ad una destinazione di trascinamento, ma non le cartelle
Non sarebbe semplice implementare un "elenco di file" che sono i file non recuperati di una cartella? (Intendo per i venditori di browser, capisco che questo non sia implementabile attualmente da javascript) –
In realtà è possibile trascinare le cartelle, ma non è possibile leggere alcun dato dai file contenuti. In Safari otterrai i dati degli appunti con testo di tipo/uri-list che puoi utilizzare per capire qual è il percorso della cartella, ma questo è tutto. –