Axios-এ এটা ষ্ট্ৰিম ঘূৰাই দিলে। ফাইলটো এতিয়াও লিখা হৈ আছে।
Node-ত Axios ব্যৱহাৰ কৰি SOCKS এজেণ্টৰ জৰিয়তে ডাউনলোড কৰোঁতে নেটৱৰ্ক পঢ়া আৰু গন্তব্যত লিখা দুয়োটাৰে বাবে অপেক্ষা কৰক।
Axios-এ responseType: 'stream' সৈতে এটা Node অনুৰোধ সমাধান কৰিলে, শৰীৰটো গ্ৰহণ কৰিবলৈ সাজু হয়, কিন্তু ফাইলটো এতিয়াও সম্পূৰ্ণ নহয়। গন্তব্যলৈ স্থানান্তৰণ সম্পূৰ্ণ হোৱালৈ অপেক্ষা কৰক:
import { createWriteStream } from 'node:fs';
import { pipeline } from 'node:stream/promises';
const response = await client.get(url, { responseType: 'stream' });
await pipeline(response.data, createWriteStream(partPath));ইতিমধ্যে সংৰূপিত ক্লায়েণ্ট ব্যৱহাৰ কৰা হয়। ইয়াৰ এডাপ্টাৰে বাছনি কৰা প্ৰক্সি বা SOCKS এজেণ্ট সমৰ্থন কৰিব লাগিব; Axios-ৰ অন্তৰ্নিৰ্মিত HTTP প্ৰক্সি বিকল্প আৰু SOCKS এজেণ্ট পৃথক পদ্ধতি। এপ্লিকেশ্বনে URL, সময়সীমা আৰু বাতিলকৰণ নীতি যোগান ধৰে।
এই কাৰ্য্যই নিজৰ অধীনত থকা এটা অস্থায়ী পথ ব্যৱহাৰ কৰক। লিখা ষ্ট্ৰিম সৃষ্টি কৰাৰ আগতে সংঘৰ্ষ কেনেকৈ হাতত ল’ব সেইটো নিৰ্ধাৰণ কৰক, যাতে বিফলতাৰ পিছত পৰিষ্কাৰ কৰোঁতে আন কাৰোবাৰ ফাইল নুমুৱাই নিদিয়ে। ইচ্ছাকৃত পুনৰাৰম্ভৰ বাবে নিজস্ব নীতি লাগে।
pipeline-এ পঢ়া আৰু লিখাৰ সমন্বয় কৰে আৰু সিহঁতৰ বিফলতা জনায়। response.data.pipe(file) মাতি লগে লগে সফলতা লগ কৰিলে সেই সমাপ্তি বিন্দুটো এৰি যায়। বৈধ HTTP সঁহাৰি অহাৰ পিছতো নেটৱৰ্ক বিঘ্নি বা ডিস্ক ভৰি যোৱা ঘটিব পাৰে; সঁহাৰিৰ প্ৰসংগ আৰু পাইপলাইন বন্ধ কৰা ত্ৰুটিটো ৰাখক।
অপেক্ষা কৰা পাইপলাইন সফল হোৱাৰ পিছত, এপ্লিকেশ্বনৰ আৰ্টিফেক্ট পৰীক্ষা সম্পন্ন কৰি চূড়ান্ত নামটো প্ৰকাশ কৰক। সমাপ্তিৰ অৰ্থ হৈছে এই API-সমূহৰ অধীনত ষ্ট্ৰিমটো গ্ৰহণ কৰি লিখা হৈছে, কিন্তু সেয়া প্ৰত্যাশিত ৰিলিজ বা নথি বুলি নহয়। বিফলতা বা বাতিলকৰণত, বাছনি কৰা পুনৰাৰম্ভ নীতি অনুসৰি আংশিক ফাইলটো ৰাখক বা আঁতৰাওক। বাতিলকৰণ সংকেতে প্ৰাসংগিক অনুৰোধ আৰু ষ্ট্ৰিম কাৰ্য্য বন্ধ কৰিব পাৰে; কিন্তু এপ্লিকেশ্বনে আউটপুটৰ সৈতে কি কৰিব সেইটো নিৰ্ণয় নকৰে।