当我们使用 ajax post 请求上传文件时,如何取消将文件上传到服务器并删除文件(在上传未完成之间)


How to cancel upload file to server and delete file (between upload not finished) when we use ajax post requests to upload file?

当我们使用 ajax 发布请求上传文件时,如何取消将文件上传到服务器并删除文件(上传未完成之间)?

这是我的 Ajax 上传

$.ajax({
    url: 'example.php',
    dataType: 'text',
    cache: false,
    contentType: false,
    processData: false,
    data: form_data,                         
    type: 'post',
    success: function(php_script_response){
    }
});

示例.php

move_uploaded_file($_FILES["file"]["tmp_name"], "dir/" . $_FILES["file"]["name"]);

PHP 提供了一种跟踪上传进度的方法,请在此处阅读更多相关信息 - http://php.net/manual/en/session.upload-progress.php

上传

过程中,上传进度将在 $_SESSION 中提供。您可以使用此名称获取上传的密钥名称,

$key =  ini_get("session.upload_progress.name");
print_r($_SESSION[$key]);

现在要取消上传,只需使用密钥调用 $_SESSION 并将cancel_upload设置为 TRUE。

$_SESSION[$key]["cancel_upload"] = true;

这只会中止正在进行的上传,而不会中止已完成的上传。