Удалить загруженные файлы с сервера - PullRequest
1 голос
/ 05 марта 2012

Я использую Uploadify в своем приложении ASP.NET MVC.После того, как файлы были загружены, мы видим это: enter image description here

Можно ли удалить загруженный файл (с сервера), если пользователь нажмет кнопку отмены / пересечения?Любые предложения / указатели были бы очень полезны.

1 Ответ

2 голосов
/ 05 марта 2012

Одна из возможностей - заставить ваше действие загрузки на стороне сервера вернуть уникальный идентификатор после завершения загрузки, что позволит вам позже идентифицировать файл на сервере:

[HttpPost]
public ActionResult Upload()
{
    var fileId = Guid.NewGuid().ToString();

    // TODO: do the uploading ...

    return Json(new { id = fileId });
}

и на клиенте храните карту между уникальным идентификатором файла, возвращаемым сервером, и идентификатором на клиенте. Тогда вы можете подписаться на события onComplete и onCancel :

$(function () {
    var map = {};
    $('#file_upload').uploadify({
        'uploader': '@Url.Content("~/scripts/uploadify/uploadify.swf")',
        'script': '@Url.Action("upload")',
        'cancelImg': '@Url.Content("~/scripts/uploadify/cancel.png")',
        'auto': true,
        'removeCompleted': false,
        'multi': true,
        'onComplete': function (event, ID, fileObj, response, data) {
            // once the upload succeeds we retrieve the id returned 
            // by the server and we put it in the map
            map[ID] = $.parseJSON(response).id;
        },
        'onCancel': function (event, ID, fileObj, data) {
            var fileId = map[ID];
            if (fileId) {
                // TODO: here you could send a request to the server to 
                // inform him that the user wants to delete the file with 
                // the given unique id
            }
        }
    });
});
...