NEWS
Download einer Bilddatei via request
-
Hallo,
ich habe eine IP Camera, bei dieser kann ich über den http request "http://<ip-address>/cgi-bin/snapshot.cgi" einen jpg Snapshot erstellen,
wenn ich mir die body Daten des nachfolgenden request Skriptes in die console schreiben lasse kommt da auch jede menge gutes an, leider kann ich das ganze nicht über pipe an die fs.createwritestream übergeben, da dort immer wieder der Fehler "TypeError: fs.createWriteStream is not a function" aufläuft. Kann mir hier jemand helfen, was mache ich Falsch?
Gruß Dominic
const fs = require('fs'); const request = require('request'); request("http://192.168.66.12/cgi-bin/snapshot.cgi",function(error,response,body){ console.warn("FERTIG"); }) .auth("admin","admin",false) .pipe(fs.createWriteStream("/mnt/bildergarten/latest.jpg")); ````</ip-address>
-
Kann mir hier jemand helfen, was mache ich Falsch? `
Hi Dominic,
schau mal hier in das Script von HoffmannOs.viewtopic.php?f=21&t=18739&hilit=kamera … am#p195677 Hier wird das Bild auch von einer Cam geholt, gespeichert und dann per Telegram versendet. Hier kann man gut Teile des Scripts auf die eigenen Bedürfnisse adaptieren.
Vielleicht hilft es als Denkansatz :idea:
Grüße
Thomas
-
Hallo Thomas,
vielen dank für den Tipp das hat mir weitergeholfen und Funktioniert jetzt, nachfolgend mein Ansatz hierzu.
const fs = require('fs'); const request = require('request'); request.get({url: "http://192.168.66.12/cgi-bin/snapshot.cgi", encoding: "binary"},function(error,response,body){ fs.writeFile("/mnt/bildergarten/latest.jpg",body,"binary",function(err){ console.warn("FERTIG"); }); }) .auth("admin","admin",false);
wo ich mir aber dennoch die Frage stelle warum dieser Fehler zustande kommt, mein ursprüngliches Konstrukt lauft auf einer anderen ioBroker Instanz einwandfrei ohne diesen Fehler.
Gruß Dominic
-
Hi Dominic,
das ist natürlich eine gute Frage warum es auf einer anderen ioBroker Instanz läuft. Aber Hauptsache ist doch, dass es jetzt funktioniert
VG
Thomas