NEWS
httpPost - Übergabe von Parametern
-
Ich nutze folgende JavaScript-Funktion (mit
request
) um ein Bild an ein OpenEPaper-Tag zu senden:async function ScreenshotVISandUpload2OpenEPaperLink(imageSaveToFilenameWithPath, urlOfVISView, viewWidth, viewHeight, cutoutX, cutoutY, cutoutWidth, cutoutHeight, jpgQuality, waitForSelector, imageUploadURL, ePaperMAC) { sendTo('puppeteer.0', 'screenshot', { url: urlOfVISView, /* URL der Webseite aus welcher der Screenshot erstellt werden soll */ path: imageSaveToFilenameWithPath, /* Dateiname und Pfad für lokales Speichern des Bildes */ width: viewWidth, /* Breite des virtuellen Browserfensters */ height: viewHeight, /* Höhe des virtuellen Browserfensters */ quality: jpgQuality, /* Qualität des JPG, sollte immer 100 sein */ waitOption: { waitForSelector: waitForSelector, /* Wartet for dem Screenshot bis dieses Objekt sichtbar ist */ waitForTimeout: 10000 /* Timeout, solange wird auf das Objekt gewartet */ }, fullPage: false, /* True würde die ganze Seite Snapshoten und die clip-Anweisungen ignorieren */ clip: { x: cutoutX, /* Koordinate X an der der Ausschnitt beginnen soll */ y: cutoutY, /* Koordinate Y an der der Ausschnitt beginnen soll */ width: cutoutWidth, /* Breite des Ausschnittes */ height: cutoutHeight /* Höhe des Ausschnittes */ } }, obj => { if (obj.error) { console.warn("Fehler beim Aufruf der View: " + urlOfVISView + " => " + obj.error.message); } else { /* in obj.result sind die Binärdaten des Bildes */ var request = require('request'); var options = { url: imageUploadURL, method: 'POST', formData: { "dither": "0", "mac": ePaperMAC, "image": obj.result }, }; /* und die URL aufrufen: */ request(options,function (error, response, body){ console.log("Image:" + imageSaveToFilenameWithPath + " => ImageUploadStatusCode: " + response.statusCode); }); } }); }
Also ein
SendTo
zu Puppeteer, als Ergebnis erhalte ich ein Objektobj
bei dem unterobj.result
die Bilddaten stecken die ich senden will.Jetzt spiele ich schon eine Weile rum um das ganze nun mit dem neuen
httpPost
zu lösen.
Mein Problem ist wie ich das hier bei dem Befehl unterbringe:formData: { "dither": "0", "mac": ePaperMAC, "image": obj.result }, };
Ich habe es im ersten und 2 Teil versucht (die
{ }
), mit und ohneformData
, die Bezeichnungen mit und ohne"
...
Mein AccessPoint für die Epaper meldet immer nur "200 ok", macht aber nichts, also ist falsch was ich sende.Danke