2016-02-28 136 views
1

當我們使用ajax發佈請求上傳文件時,如何取消上傳文件到服務器並刪除文件(上傳未完成)?當我們使用ajax發佈請求上傳文件時,如何取消上傳文件到服務器並刪除文件(上傳未完成)?

這是我的ajax上傳

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

使用example.php

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

你可以使用PHP方法exit()或die()來刪除文件,如果php代碼退出,它將不會保存在臨時文件中。 –

回答

0

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; 

這隻會中止正在進行的上傳而不是完成的上傳。