2013-02-26 1 views
1

Если пользователь отменил загрузку в Ajax Browser, кажется, что частичный файл оставлен на сервере. Я ожидаю, что частично загруженные файлы будут удалены. Есть ли этому решение? или можно удалить параметр отмены в пользовательском интерфейсе?ITHit Ajax Browser upload cancel issue, усеченный файл, оставленный на сервере

ответ

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 вы можете найти более подробную информацию о меню настройки. Идентификаторы контекстного меню (например, «CancelUpload» в приведенном выше примере) находятся в ITHitAJAXFileBrowser.js, вы можете легко найти их среди блоков фраз, эта часть кода не будет уменьшена. Идентификаторы меню верхнего уровня (например, «UploadProgressPanelMenu») перечислены here в описании объекта меню.

Если вы используете IT Hit WebDAV Server Engine на стороне сервера, вы можете удалить файл в IResumableUpload.CancelUpload. Обратите внимание, что как только команда отмены отправки будет асинхронной, загрузка может продолжаться, и ваш файл может быть заблокирован в вашем хранилище.

Поскольку Отмена загрузки является асинхронной, это является причиной того, что Ajax File Browser не может удалить файл непосредственно во время Отмена загрузки. Файл в большинстве случаев блокируется на стороне сервера путем загрузки.