当我们使用 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 我们 post 请求 何取消      更新时间:2023-09-26

当我们使用 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;

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