I这是Ajax浏览器上载取消问题,服务器上的文件被截断

I这是Ajax浏览器上载取消问题,服务器上的文件被截断,ajax,webdav,ithit-ajax-file-browser,Ajax,Webdav,Ithit Ajax File Browser,若用户在Ajax浏览器中取消上传,那个么服务器上似乎保留了部分文件。我希望部分上传的文件会被删除。有解决办法吗?或者是否可以删除UI中的“取消”选项?是的,您可以从上载面板上下文菜单中删除“取消”项。请使用以下代码: ITHit.Events.AddListener(ajaxFileBrowser.GetMenuManager(), 'OnShowMenu', onShowMenu); ... function onShowMenu(menu, aContextMenuHierarchyIt

若用户在Ajax浏览器中取消上传,那个么服务器上似乎保留了部分文件。我希望部分上传的文件会被删除。有解决办法吗?或者是否可以删除UI中的“取消”选项?

是的,您可以从上载面板上下文菜单中删除“取消”项。请使用以下代码:

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中,您可以在短语块中轻松找到它们,这部分代码没有缩小。菜单对象描述中列出了顶级菜单ID,如“UploadProgressPanelMenu”

如果您正在使用它,请点击服务器端的WebDAV服务器引擎,您可以在实现中删除该文件。请注意,只要取消上载命令是异步操作,上载可能会继续,并且您的文件可能会被阻止在存储器中

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