Bilder zu API-Posts hinzufügen

How to add pictures or file to an upcoming topic?

Haben Sie dieses Problem gelöst?

Sie sollten die Datei hochladen und die URL für die Datei abrufen, dann posten Sie sie.

r = requests.put()
p = "http:"+r.json()['url']

Hallo, ich habe versucht, ein Cloud-Bett eines Drittanbieters zu verwenden, um später Bilder zu speichern, und dann habe ich img-Tags verwendet, um Inhalte in Themes oder Posts zu implementieren, da dies Speicherplatz auf dem Server gespart hat.

Hallo @FunnySmile, ich versuche, ein Bild mit dem unten stehenden img-Tag zu posten, aber es wird nicht angezeigt?

<img src="https://unsplash.com/photos/JoZazcPhW5Y" />

Können Sie mir bitte helfen?

Sie sollten beachten, dass May Cloud Bed keine externen Website-Aufrufe zulässt. Im Allgemeinen gibt ein Teil der Cloud die Adresse des Bettes zurück, einige können aufgerufen werden, andere nicht. Sie geben im Allgemeinen zusätzliche img-Tags mit speziellen URLs an. Wenn nicht, erlaubt May Cloud Bed möglicherweise keine externen Aufrufe. Sie können den Entwicklermodus des Browsers verwenden und dann Netzwerk auswählen, um zu sehen, welche Fehler beim Laden von Bildern auftreten.

Sie können einfach die URL zum Bild hinzufügen, ohne HTML-img-Tags

https://unsplash.com/photos/JoZazcPhW5Y

so

und Discourse wird es einbetten. Aber das ist nicht einmal ein Link zu einem Bild, das verlinkt nur zu einer Seite auf der Website unsplash.com. Sie müssen den tatsächlichen Link für das Bild verwenden:

https://images.unsplash.com/photo-1658603458978-4a32b8cdadb7?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=3272&q=80

Wenn Sie die API verwenden, können Sie die Bild-URL im Feld ‘raw’ des Beitrags einfügen.

Hallo @blake
Ich habe es wie vorgeschlagen versucht. Hier ist der Body meiner POST-Anfrage

Als ich den Beitrag sah, sah er so aus (zeigt nur den Link, nicht das Bild). Wenn ich den Link in den Browser einfüge, kann ich das Bild abrufen

Viele Grüße
Chitta

Können Sie die Bild-URL in eine eigene Zeile einfügen?

asdfasdfasdf https://stayrightcon.com/wp-content/uploads/2020/05/Stayright-logo_resolution-72ppi.png

asdfasdf

https://stayrightcon.com/wp-content/uploads/2020/05/Stayright-logo_resolution-72ppi.png

Ich versuche auch, dasselbe zu finden … Bild in Post-API posten. Obwohl ich die Schritte zum Hochladen des Bildes und zum Abrufen der URL befolgt habe … aber wie können wir die URL in der Nutzlast senden? Das Senden im Raw-Feld, das es in Worten postet … Gibt es eine Möglichkeit, auch ein Bildfeld in der Posts-API zu haben? Bitte helfen Sie

Es tut mir leid, dass ich Ihre Bedeutung im Moment nicht verstehe. Meine nachfolgende Lösung besteht darin, zuerst ein externes Cloud-Bildbett zu verwenden, um das Bild hochzuladen, und dann eine Bild-URL-Adresse zurückzugeben.

<img src="url" />

Korrekt. Übergeben Sie sie als Markdown-Link.

![image|581x455](upload://c4MB1Yzppr5Omv68MoJBQINqqiB.png)

Nein, da dies derselbe Workflow ist, der in der Composer-Benutzeroberfläche verwendet wird. Sie müssen zwei API-Aufrufe tätigen, einen für den Upload und einen anderen, um die URL in die Post-Nutzlast aufzunehmen.

1 „Gefällt mir“

Ja, richtig, so habe ich das implementiert… übergeben Sie einfach
„[image|581x455(upload://c4MB1Yzppr5Omv68MoJBQINqqiB.png)“ im Rohformat in der Post-API. Hier

  1. Bild – jeder Name, den Sie geben möchten
  2. upload://c4MB1Yzppr5Omv68MoJBQINqqiB.png – dies ist die Kurz-URL, die wir beim Hochladen des Bildes über die Upload-API erhalten.

Für die Schritte:

  1. Zuerst müssen wir das Bild über die /upload.json-API hochladen
    Schritt 2) Übergeben Sie die Kurz-URL im obigen Format mit anderen Post-Inhalten im Feld „raw“.

Vielen Dank für Ihre Antwort @blake

2 „Gefällt mir“