2017-12-19 33 views
0

私のプロジェクトでは、ファイルをダウンロードしたいので、このファイルはダウンロード後に削除されます。ファイルが正常にダウンロードされたかどうかを確認する方法

ダウンロードファイルが完了したことを確認するには、最初にajaxでasync:falseを設定しました。それはダウンロードに時間が必要ですが、ちょうど第二のファイルを削除するよう、削除

//this is download file code: 
$.ajax({ 
     dataType:'json', 
     type:'POST', 
     async: false, 
     data:{files:files}, 
     url:'oat.php', 
     success:function(data){ 
      delFile=data.name; 
      alert(delFile); 
      window.location=delFile; 
     } 
    }); 

    //this is delete file code: 
    $.ajax({ 
      type:'POST', 
      data:{delFile:delFile}, 
      url:'delFileoat.php', 
      success:function(data){ 
      } 
     }); 

しかし、不運は、ダウンロードする前に、常にあります。

私はいつも「サーバー内のファイルが見つかりません」というメッセージを受け取ります。

ファイルを正常にダウンロードした後にwindow.location=delFileの戻り値はありますか?

+0

ファイルをどのように出力しますか?それはあなたのWebサーバーまたはPHPスクリプトによって処理されますか? @TobiasF。 –

+0

by webserver – Snow

+0

スクリプトで実行する場合は、 'readfile()'のようなものを介して出力し、その後(ダウンロードが完了したら)ファイルを削除することができます。 –

答えて

1

async: falseは推奨されていません。 successコールバックでファイルを削除できます。以下のように

$.ajax({ 
    dataType: 'json', 
    type: 'POST', 
    data: { 
    files: files 
    }, 
    url: 'oat.php', 
    success: function(data) { 
    // do your stuff 
    $.ajax({ 
     type: 'POST', 
     data: { 
     delFile: delFile 
     }, 
     url: 'delFileoat.php', 
     success: function(data) {} 
    }); 
    } 
}); 
+0

私はこの方法で試しました。 – Snow

+0

ダウンロードするコードはどこですか? –

+0

私のウェブサーバ – Snow

関連する問題