我想創建一個HTML5網站,用戶只需放下文件,然後按「提交」按鈕,這是一個JavaScript函數創建的拖放文件的.zip存檔。簡單的HTML5拖放文件網站網站,其中拖放的文件
我的問題是:這是否可能沒有上傳刪除的文件在網站上,但只使用保存的文件路徑(即「c:\ test \ droppedfile1.exe」,「c:\ test \ droppedfile2。 exe「) 並在本地文件夾中創建.zip文件?
我想創建一個HTML5網站,用戶只需放下文件,然後按「提交」按鈕,這是一個JavaScript函數創建的拖放文件的.zip存檔。簡單的HTML5拖放文件網站網站,其中拖放的文件
我的問題是:這是否可能沒有上傳刪除的文件在網站上,但只使用保存的文件路徑(即「c:\ test \ droppedfile1.exe」,「c:\ test \ droppedfile2。 exe「) 並在本地文件夾中創建.zip文件?
不,它不是純HTML/JS。 HTML/JS無法訪問您的硬盤。實際上,當您使用文件上傳框時,value
設置爲C:/fakepath/nameoffile.ext
(其中nameoffile.ext
是磁盤上的文件名)。
如果您拖放或複製粘貼文件,它們會變成斑點。在這種情況下,原始文件路徑完全被破壞 - 它變成類似blob://lots-and-lots-of-gibberish
的東西。
因此不,HTML/JS不提供任何方法從上載或從提供的文件路徑上傳文件路徑。
但是,在Chrome上,有HTML5 filesystem API,這可能會有所幫助。 Here's a tutorial on it。
請注意,這將需要額外的權限,並且不會在其他瀏覽器上工作。
使用File API,您可以在選定的文件中讀取數據。你不能得到他們的路徑,但你可以讀取上傳框(或拖放文件)中選擇的文件中的數據,並使用你的JS函數壓縮文件。
如果瀏覽器支持Filesystem API,則文件路徑可用。 – 2013-04-08 15:11:21
@RayNicholus - 他們什麼時候提取該API的每個Web應用程序沙盒限制? – Quentin 2013-04-08 15:13:04
@RayNicholus:包括,但它並沒有真正準備好使用網站(因爲只有鉻的東西) – Manishearth 2013-04-08 15:14:27
不,您不能在本地文件夾中創建zip文件。瀏覽器不會顯示JavaScript代碼的實際路徑名。但是,您可以使用HTML5文件API來讀取文件,並且可以即時構建zip文件,前提是您已經擁有適當的JavaScript代碼。 – Pointy 2013-04-08 15:06:23