2016-11-24 65 views
2

我正在使用表單可以同時上傳文件或完整文件夾。我使用下面的代碼:如何從同一輸入類型上傳文件夾和文件?

<html> 
    <input type = "file" id = "file" name = "files[]" multiple/> 
    <input id="file" type=file multiple webkitdirectory directory> 
</html> 

有了第一個輸入,我可以上傳文件,但沒有文件夾,並輸入第二,我可以上傳文件夾,但不是文件。但我希望能夠以相同的輸入上傳兩者。

請告訴我什麼是我可以一次點擊上傳文件和文件夾的確切代碼。

+0

無論是不可能最新的。 – Lain

+0

題外話:刪除屬性,值和'='...所以'id =「file」'而不是'id =「file」之間的空格' – LuudJacobs

回答

1

正如我寫這篇文章,這是不可能的純HTML,除非你使用像Flash一些插件,那麼也許這是可能的。

1文件上傳:

<input type="file" name="file"> 

多個文件上傳(但必須在同一個文件夾):

<input type="file" name="file[]" multiple> 

1上傳文件夾(注意:不是所有的瀏覽器可以支持這一點):

<input type="file" name="file" webkitdirectory directory> 

當前可能無法上傳多個文件夾。

下面是一個可能工作的技巧(但我沒有測試它):您可以直接在輸入字段中拖放文件和文件夾,例如從桌面到瀏覽器的輸入。嘗試選擇文件和文件夾並將它們在輸入字段中進行drog-n-drop,但我不知道它們是否會正確上傳到服務器。

編輯:

只是測試的伎倆,它沒有工作:/

+0

如果我們無法獲取文件夾,文件夾上傳的好處是什麼在服務器端? –

+0

拖放的東西應該工作(你可以[在這裏測試](https://stackoverflow.com/questions/47932586/uploading-directory-and-maintainign-structure-through-javascript-and-html5/47935286#47935286)) 。但是,不可能的是爲目錄和單個/多個文件設置對話框。我不完全確定,但我認爲這甚至是OS限制(至少在osX上)。 – Kaiido

相關問題