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 ల కింద స్ట్రీమ్ వినియోగించబడి వ్రాయబడింది, అది ఆశించిన విడుదల లేదా పత్రం అని కాదు. వైఫల్యం లేదా రద్దు సమయంలో, ఎంచుకున్న పునఃప్రారంభ విధానం ప్రకారం పాక్షిక ఫైల్ను ఉంచండి లేదా తొలగించండి. రద్దు సంకేతం సంబంధిత అభ్యర్థన మరియు స్ట్రీమ్ కార్యకలాపాలను ఆపగలదు; కానీ అవుట్పుట్తో అప్లికేషన్ ఏమి చేయాలో అది నిర్ణయించదు.