ITHit Ajax浏览器上传取消问题,截断文件留在服务器上

时间:2013-02-26 17:01:08

标签: ajax webdav ithit-ajax-file-browser

如果用户在Ajax浏览器中取消上传,则好像部分文件留在服务器上。我希望删除部分上传的文件。这个问题有方法解决吗?或者是否可以删除UI中的取消选项?

1 个答案:

答案 0 :(得分: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;
}

Here您可以找到有关菜单自定义的更多信息。上下文菜单ID(如上例中的'CancelUpload')位于ITHitAJAXFileBrowser.js中,您可以在Phrases块中轻松找到它们,这部分代码不会缩小。顶级菜单ID(如“UploadProgressPanelMenu”)在菜单对象说明中列出here

如果您在服务器端使用IT Hit WebDAV Server Engine,则可以在IResumableUpload.CancelUpload实施中删除该文件。请注意,只要取消上传命令是异步操作,上传可能会继续,您的文件可能会在您的存储中被阻止。

因为取消上传是异步的,所以这就是为什么Ajax文件浏览器在取消上传执行期间无法直接删除文件的原因。在大多数情况下,该文件通过上传在服务器端被阻止。