LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Upload a photo via multipart/form-data HTTP POST

Hallo zusammen,

 

vorab, ich programmiere an einem Bot für Telegram. Das funktioniert auch soweit ganz gut.

 

In der API Beschreibung https://core.telegram.org/bots/api#sendphoto ist der Aufbau des POST gut beschrieben. Dabnei geht es darum ein Bild im Chat zu posten. Bis jetzt habe ich Bilder entweder anhand der Telegram internen ID oder eines URLS verwendet.

 

In den Ausschnitten habe ich die BOT Token und Chat ID zensiert, nicht wundern 😉

 

Das hat auch super funktioniert und sieht zum Beispiel so aus:

image.png

Hier der Auszug aus der API Beschreibung:

image.png

 

Nun möchte ich aber gerne ein Bild von meinem PC hochladen. Die Telegram API beschreibt die wie folgt:

 

image.png

Unter "More info on Sending Files" ist folgendes zu finden:

 

image.png

 

Nun habe ich dies natürlich versucht, jedoch bekomme ich den Fehlercode das kein Bild angehängt werde.

Ich spekuliere, dass es nicht als multipart/form-data ankommt. Kenne mich aber ab jetzt leider weniger gut aus und würde mich freuen wenn mir jemand erklären kann wie ich das passend lösen kann.

Hier ist min versuchter Code:

 

image.png

 

Und hier habe ich das Feedback das kein Photo angekommen ist.image.png

 

 

Über jede Idee bin ich sehr dankbar.

Ich habe an diesem Punkt kein .vi angehängt, da ihr vermutlich keinen Bot und Token habt und es nicht probieren könntet.

 

Grüße

Tim

0 Kudos
Message 1 of 6
(3,184 Views)

Schicken eines Bildes (über die URL des Bildes) funktioniert gut, mein Code sieht genauso aus wie Deiner: http-request und am Ende der URL dann ...photo=https://www.hallo.de/image.jpg

 

Was ich nicht hinbekommen habe ist, wie ich ein Bild von der lokalen Festplatte verschicke.

 

Hat da jemand eine Idee? Vielleicht geht es garnicht und das Bild muss vorher auf einen Server hochgeladen werden und dann kann man mit der URL arbeiten.

 

Andreas

 

 

0 Kudos
Message 2 of 6
(3,102 Views)

Image.png

You can try this way to upload one image to the server. 

Colin Zhang
------------------
LV7.1/8.2/8.2.1/8.5/8.6/9.0/2010/2011/2013/2015/2016/2020; test system development; FPGA; PCB layout; circuit design...
Please Mark the solution as accepted if your problem is solved and donate kudoes


Home--colinzhang.net: My Blog

iTestGroup: One-step test solution provider!
ONTAP.LTD : PCBA test solution provider!
0 Kudos
Message 3 of 6
(2,831 Views)

Hallo zusammen,

gibt es zu dem Problem neuerer Erkenntnisse? Ich bin genau an dem gleichen Problem und komme leider nicht wirklich weiter.

Mit den Daten via cURL wird das Bild sofort an Telegram übertragen, nur der LabVIEW http Client bringt immer wieder:

{"ok":false,"error_code":400,"description":"Bad Request: there is no photo in the request"}

 

Ich habe zwischenzeitlich auch den JKI http REST Client versucht, der leider ebenfalls kein brauchbares Ergebnis lieferte.

Sebastian

0 Kudos
Message 4 of 6
(2,625 Views)

Hallo Sebastian. Soweit ich mich erinnere ist der Weg das Bild auf einen Server hochzuladen und Telegram dann die URL zum Bild mitzugeben und damit kann man dann das Bild als Message verschicken. Ich habe mich schlicht auf Textnachrichten beschränkt. Vielleicht gibt es eine bessere Lösung Bilder zu verschicken. Würde mich immernoch interessieren. Grüsse Andreas

0 Kudos
Message 5 of 6
(2,618 Views)

Hi Andreas,

ich werde es nun wie folgt lösen:
Da ich ein xy-Plot versenden möchte werde ich von diesem eine lokal png-Datei erstellen und dann über die Kommandozeile aus LabVIEW per cURL (welches im Windows ja enthalten ist) auf Telegram hochladen. Via cURL funktioniert der Post ohne Probleme ... Schade, dass es keinen direkten Weg gibt.

Grüße Sebastian

0 Kudos
Message 6 of 6
(2,591 Views)