1
如果用戶在Ajax瀏覽器中取消上傳,看起來好像部分文件留在服務器上。我希望部分上傳的文件被刪除。有針對這個的解決方法嗎?或者有可能刪除UI中的取消選項?ITHit Ajax瀏覽器上傳取消問題,服務器上剩餘的截斷文件
如果用戶在Ajax瀏覽器中取消上傳,看起來好像部分文件留在服務器上。我希望部分上傳的文件被刪除。有針對這個的解決方法嗎?或者有可能刪除UI中的取消選項?ITHit Ajax瀏覽器上傳取消問題,服務器上剩餘的截斷文件
是的,您可以從上傳面板上下文菜單中刪除取消項目。請使用以下代碼:
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中,您可以輕鬆地在短語塊中找到它們,這部分代碼不會被縮小。頂級菜單ID(如'UploadProgressPanelMenu')在菜單對象描述中列出here。
如果您在服務器端使用IT Hit WebDAV Server Engine,則可以刪除IResumableUpload.CancelUpload實施中的文件。請注意,只要取消上傳命令爲異步操作,上傳可能會繼續,您的文件可能會在存儲器中被阻止。
因爲取消上傳是異步的,所以這是在取消上傳執行期間Ajax File Browser無法直接刪除文件的原因。該文件在大多數情況下通過上傳在服務器端被阻止。