文件管理功能,拖拽整个文件夹,将文件夹内的文件或者文件夹数据传给后台,保存在数据库里。现在无法获取不到文件的file对象,无法进行上传
var dropEle = document.getElementById('test11');
dropEle.addEventListener("dragover", function (event) {
event.preventDefault();
}, false);
dropEle.addEventListener('drop', function (event) {
let items = event.dataTransfer.items;
event.preventDefault();
for (var i = 0; i <= items.length - 1; i++) {
// DataTransferItem 对象
var item = items[i];
if (item.kind === "file") {
// FileSystemFileEntry 或 FileSystemDirectoryEntry 对象
let entry = item.webkitGetAsEntry();
// 递归地获取entry下包含的所有File
GetFileFromEntryRecursively(entry,event);
}
}
}, false);
function uploadFolder(FName) {
var path = "/CompanyFolder/AddFolder";
var data = {
"FName": FName,
"PID": dqid
};
$.ajax({
url: path,
data: data,
dataType: 'json',
type: 'post',
beforeSend: function (XHR) {
XHR.setRequestHeader("Authorization", store.userInfo.token);
},
success: function (data) {
if (data.code == 0) {
dqid = data.data + "";
}
}
})
}
function GetFileFromEntryRecursively(entry,event) {
if (entry.isFile) {
**?????**
} else {
// 文件夹
var reader = entry.createReader();
var name = entry.name;
uploadFolder(name);
reader.readEntries(
entries => {
entries.forEach(entry => GetFileFromEntryRecursively(entry));
},
);
}
}