मैं एपीआई का उपयोग करके नोडजेएस के साथ एक छवि फ़ाइल डाउनलोड करना चाहता हूं, लेकिन समस्या यह है कि एपीआई लिंक में अंत में .jpg फ़ाइल नहीं है, मैं कैसे करूं, नीचे मैं कैसे कोशिश कर रहा हूँ

url = 'https://i.pravatar.cc/225'
const https = require('https')
const fs = require('fs');


result = https.get(url, (resp) => {

        console.log('Result of response: ', resp)
        fs.writeFileSync('apiResponse', resp)
        console.log('Reached end!')
    })

जब मैं यूआरएल पर क्लिक करता हूं तो यह ब्राउज़र में छवि दिखाता है, हार्ड-ड्राइव पर फ़ाइल लिखने के लिए मेरा प्रोग्राम कैसे बनाते हैं,

0
Lint 31 अक्टूबर 2019, 14:26

4 जवाब

सबसे बढ़िया उत्तर

यह कोड कई अलग-अलग तस्वीरें अपलोड करता है

const url = 'https://i.pravatar.cc/225'

const https = require('https')
const fs = require('fs');

for(let i=0; i<10; i++) 
  https.get(url, resp => resp.pipe(fs.createWriteStream(`./test_${i}.jpeg`)));
1
Yaroslav Gaponov 14 नवम्बर 2019, 09:15

download-file लाइब्रेरी आज़माएं

https://www.npmjs.com/package/download-file

इंस्टॉल करें: npm install download-file --save

var download = require('download-file')

var url = "http://i.imgur.com/G9bDaPH.jpg"

var options = {
    directory: "./images/cats/",
    filename: "cat.gif"
}

download(url, options, function(err){
    if (err) throw err
    console.log("meow")
}) 
0
ArUn 31 अक्टूबर 2019, 11:54

कृपया इसका उपयोग करें मैंने इसके साथ प्रयास किया है और ठीक काम करते हुए आप डाउनलोड की गई फ़ाइल का नाम भी बदल सकते हैं।

const https = require("https");
const fs = require("fs");

const file = fs.createWriteStream("file.jpg");
const request = https.get("https://i.pravatar.cc/225", function(response) {
  response.pipe(file);
});
1
Pardeep 31 अक्टूबर 2019, 11:35

फ़ाइल के लिए बस पाइप प्रतिक्रिया

const url = 'https://i.pravatar.cc/225'

const https = require('https')
const fs = require('fs');

https.get(url, resp => resp.pipe(fs.createWriteStream('./test.jpeg')));
1
Yaroslav Gaponov 31 अक्टूबर 2019, 11:33