現要求能在瀏覽器上直接拖放乙個資料夾實現批量上傳
html5規範還不支援
但是目前chrome >= 21 瀏覽器支援
現在檔案的拖放上傳採用的是
jquery-filedrop.js
這個不支援資料夾
我把這個做了改進,可以支援資料夾。
原先**:
function drop(e)改進如下:files_count = files.length;
upload();
e.preventdefault();
return false;
}
function drop(e)以上改進點說明:if (!callback.files)
callback.pending++;
var reader = directory.createreader(),
relativepath = directory.fullpath.replace(/^\//, '').replace(/(.+?)\/?$/, '$1/');
reader.readentries(function(entries)
}, error);
} else
});if (callback.pending === 0)
}, error);
}var items = e.datatransfer.items || , firstentry;
if (items[0] && items[0].webkitgetasentry && (firstentry = items[0].webkitgetasentry())) , function() );
} else
e.preventdefault();
return false;
}
如果瀏覽器支援資料夾拖放,判斷型別,如果是資料夾就遞迴讀取資料夾目錄樹,
找到所有檔案,最後在上傳。
怎樣做到按目錄樹儲存檔案呢?
其實遞迴讀取資料夾時,我給檔案賦值了path值,就是相對路徑,
這樣服務端就可以根據這個path,實現按目錄樹儲存了。
其他地方的修改點就不一一列出了,附上修改後的完整**。
sftp上傳資料夾
情景 利用sftp中將本地資料夾 home sentiment data 內包含子資料夾 複製到伺服器的 home work目錄下 命令 put 步驟 1.首先定位到遠端 home work 目錄下 cd home work 2.在word目錄下新建data資料夾 mkdir data 3.進入遠端...
git上傳資料夾
前提是設定好ssh keys 遠端倉庫名 1 進入要上傳的專案資料夾,使用init命令將當前目錄初始化為git倉庫git init 2.將工作區的所有 新增到暫存區git add git add.是新增本目錄所有檔案包括資料夾 3.將暫存區的檔案提取到倉庫git commit m test 4.本地...
sftp上傳資料夾
情景 利用sftp中將本地資料夾 home sentiment data 內包含子資料夾 複製到伺服器的 home work目錄下 命令 put 步驟 1.首先定位到遠端 home work 目錄下 cd home work 2.在word目錄下新建data資料夾 mkdir data 3.進入遠端...