Dosya İndirme Yöntemi
- file-saver:
file-saver
, Blob nesnelerini veya dosya URL'lerini kullanarak indirme işlemi gerçekleştirir. Kullanıcıya bir dosya kaydetme penceresi açar. - downloadjs:
downloadjs
, basit bir indirme bağlantısı oluşturarak dosyaları indirir. Bu yöntem, metin, resim veya diğer dosya türleri için hızlı ve etkilidir. - blob-stream:
blob-stream
, Blob nesnelerini akış (stream) olarak oluşturur ve bunları dinamik olarak indirir. Bu, özellikle büyük dosyaların parça parça indirilmesine olanak tanır. - streamsaver:
streamsaver
, büyük dosyaları akış (stream) olarak indirir. Bu, bellek kullanımını azaltır ve büyük dosyaların daha verimli bir şekilde indirilmesini sağlar.
Büyük Dosya Desteği
- file-saver:
file-saver
, büyük dosyaları destekler, ancak bellek kullanımına dikkat edilmelidir. - downloadjs:
downloadjs
, büyük dosyalar için uygun değildir. Tüm dosya verilerini önceden yükler. - blob-stream:
blob-stream
, büyük dosyaları akış (stream) olarak işleyebilir, ancak bellek kullanımını optimize etmez. - streamsaver:
streamsaver
, büyük dosyaları akış (stream) olarak indirir, bu da bellek kullanımını minimize eder.
Tarayıcı Uyumluluğu
- file-saver:
file-saver
, modern ve eski tarayıcılarda iyi çalışır. Özellikle IE için özel destek sunar. - downloadjs:
downloadjs
, geniş tarayıcı uyumluluğuna sahiptir ve eski tarayıcılarla da çalışır. - blob-stream:
blob-stream
, modern tarayıcılarda iyi çalışır, ancak eski tarayıcılar için sınırlı destek vardır. - streamsaver:
streamsaver
, modern tarayıcılarda en iyi performansı gösterir, ancak eski tarayıcılarda sınırlı destek vardır.
Kullanım Kolaylığı
- file-saver:
file-saver
, kullanıcı dostu bir API sunar. Belgeleri ve örnekleri ile kullanımı kolaydır. - downloadjs:
downloadjs
, basit ve anlaşılır bir API'ye sahiptir. Hızlı bir şekilde entegre edilebilir. - blob-stream:
blob-stream
, akış (stream) tabanlı bir API sunar, ancak kullanımı biraz karmaşık olabilir. - streamsaver:
streamsaver
, akış (stream) tabanlı bir API sunar, ancak büyük dosyalarla çalışırken daha fazla bilgi gerektirebilir.
Örnek Kod
- file-saver:
file-saver
ile dosya indirme örneği:import { saveAs } from 'file-saver'; const blob = new Blob(['Bu bir test dosyası.'], { type: 'text/plain' }); saveAs(blob, 'test.txt');
- downloadjs:
downloadjs
ile dosya indirme örneği:import download from 'downloadjs'; download('data:text/plain;charset=utf-8,Bu bir test dosyası.', 'test.txt');
- blob-stream:
blob-stream
ile dosya indirme örneği:const blobStream = require('blob-stream'); const stream = blobStream(); // Dinamik içerik oluşturma stream.write('Bu bir test dosyası.'); stream.end(); // İndirme işlemi const a = document.createElement('a'); a.href = URL.createObjectURL(stream); a.download = 'test.txt'; document.body.appendChild(a); a.click(); document.body.removeChild(a);
- streamsaver:
streamsaver
ile dosya indirme örneği:import { writableStream } from 'streamsaver'; const stream = writableStream('test.txt'); const writer = stream.getWriter(); writer.write('Bu bir test dosyası.'); writer.close();