如果用户在 Ajax 浏览器中取消上传,似乎部分文件留在了服务器上。我希望部分上传的文件被删除。有针对这个的解决方法吗?或者是否可以删除 UI 中的取消选项?
问问题
218 次
1 回答
0
是的,您可以从上传面板上下文菜单中删除取消项目。请使用以下代码:
ITHit.Events.AddListener(ajaxFileBrowser.GetMenuManager(), 'OnShowMenu', onShowMenu);
...
function onShowMenu(menu, aContextMenuHierarchyItems) {
if (menu.Id == 'UploadProgressPanelMenu'){
var index = getMenuIndexByMenuId(menu, 'CancelUpload');
if (index != -1) {
menu.Children.splice(index, 1);
}
}
}
function getMenuIndexByMenuId(menu, menuId) {
for (var i = 0, l = menu.Children.length; i < l; i++) {
if (menu.Children[i].Id == menuId) {
return i;
}
}
return -1;
}
在这里您可以找到有关菜单自定义的更多信息。上下文菜单 ID(如上例中的“CancelUpload”)位于 ITHitAJAXFileBrowser.js 中,您可以在 Phrases 块中轻松找到它们,这部分代码没有被缩小。顶级菜单 ID(如“UploadProgressPanelMenu”)在菜单对象描述中列出。
如果您在服务器端使用 IT Hit WebDAV Server Engine,您可以删除IResumableUpload.CancelUpload实现中的文件。请注意,一旦取消上传命令是异步操作,上传可能会继续,并且您的文件可能会在您的存储中被阻止。
因为取消上传是异步的,这就是为什么Ajax文件浏览器在取消上传执行过程中不能直接删除文件的原因。在大多数情况下,该文件在服务器端被上传阻止。
于 2013-02-26T18:42:37.270 回答