Is It Possible To Dynamically Produce Large Files (10Gb) And Stream Them To The Client?
Is it possible to dynamically produce large files (10Gb+) for the client to download? I'm building a webapp that dynamically creates files and downloads them to the client. I've im
Solution 1:
for < 800MB i would recommend FileSaver but for 10GB+ you are going to need something like StreamSaver (It will only work in Blink doe) 16GB+ haven't been any problem for me
const fileStream = streamSaver.createWriteStream('filename.txt')
const writer = fileStream.getWriter()
const encoder = new TextEncoder()
// When you have any data you write it as Uint8array
let data = 'a'.repeat(1024)
let uint8array = encoder.encode(data + "\n\n")
writer.write(uint8array) // chunk
writer.write(uint8array) // chunk
writer.write(uint8array) // chunk
writer.write(uint8array) // chunk
// After you have written all bytes you need to close it
writer.close()
(just don't write all chunks at once, do it progressively as you get more data avalible)
Post a Comment for "Is It Possible To Dynamically Produce Large Files (10Gb) And Stream Them To The Client?"