AJAX ile Dosya İndirme İşlemi Nasıl Yapılır?

"AJAX ile Dosya İndirme İşlemi Nasıl Yapılır?"

AJAX ile dosya indirme işlemi, sunucudan istek yaparak dosyanın içeriğini alıp tarayıcının indirme özelliğini kullanarak gerçekleştirilebilir. Aşağıdaki adımlar bu işlemi yapmak için kullanılabilir:

  1. Sunucudan AJAX isteği yapmak için XMLHttpRequest nesnesi kullanılır.
  2. İsteğin tipi "arraybuffer" veya "blob" olarak ayarlanır.
  3. İsteğin başarılı bir şekilde tamamlanması durumunda, indirilecek dosyanın içeriği response özelliği aracılığıyla alınır.
  4. Dosya içeriğini indirmek için tarayıcının indirme özelliğini kullanmak için URL.createObjectURL() veya URL.createBlobURL() fonksiyonları kullanılabilir.
  5. İndirme işlemi tamamlandıktan sonra, oluşturulan URL nesnesi URL.revokeObjectURL() fonksiyonu ile geçersiz hale getirilmelidir.

Aşağıdaki örnek, AJAX ile sunucudan dosya indirme işlemini gösterir:

 

var xhr = new XMLHttpRequest();
xhr.open('GET', 'path/to/file', true);
xhr.responseType = 'blob';
xhr.onload = function(e) {
  if (this.status == 200) {
    var blob = new Blob([this.response], {type: 'application/octet-stream'});
    var link = document.createElement('a');
    link.href = window.URL.createObjectURL(blob);
    link.download = 'file.bin';
    link.click();
    window.URL.revokeObjectURL(link.href);
  }
};
xhr.send();

 

Aykhan Gasimzade Aykhan Gasimzade verified icon
Full Stack Developer

Merhaba! Ben Aykhan, 1999 doğumlu bir Azerbaycanlıyım ve 2017 yılından bu yana programlamayla ilgileniyorum. Teknolojinin büyülü dünyası beni her zaman etkilemiştir ve bu merakımı kendi blogumda paylaşarak daha geniş bir kitleyle buluşturmayı amaçlıyorum.