当我们使用 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;
这只会中止正在进行的上传,而不会中止已完成的上传。