Statische Dateien für Springboot + Thymeleaf-Ressourcen können nicht abgerufen werden


Vorwort

Anforderungen: Das Backend generiert eine PDF-Funktion gemäß der Vertragsvorlage und das Frontend ruft die Schnittstelle auf, um die PDF-Datei direkt anzuzeigen.

Ich bin ein Back-End-Neuling und habe seit n Jahren keinen Back-End-Code mehr geschrieben. Ich habe zuvor Thymeleaf-Entwicklungserfahrung genutzt, daher habe ich Thymeleaf für diese Anforderungsvorlage verwendet.

1. Probleme

In der Thymeleaf-Vorlage können die statischen Bilder im Ressourcenverzeichnis nicht normal angezeigt werden, die Online-Adressbilder jedoch normal.

Die Vorschauen unten zeigen alle Kreuze
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein

Fügen Sie hier eine Bildbeschreibung ein

2. Finden Sie eine Lösung

1. Ändern Sie die Konfigurationsdatei applicationtion.yml

Code wie folgt anzeigen:

spring.mvc.static-path-pattern: /static/**

2. Ändern Sie die Konfigurationsdatei pom.xml

Der Code lautet wie folgt (Beispiel):

 <!-- 访问静态资源-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

Nachdem die obige Konfiguration geändert wurde, ist der direkte Zugriff auf die Datei kein Problem.
Fügen Sie hier eine Bildbeschreibung ein

Postman greift direkt auf http://192.168.11.183:8088/static/test168.png zu und das Bild ist auch ok;
Fügen Sie hier eine Bildbeschreibung ein

Es gibt jedoch immer noch keine Bilder im PDF der Zugangsschnittstelle. . . . . .


Drei, lösen

Du Niang scharrte und schleppte fast einen Nachmittag lang und konnte dieses Problem immer noch nicht lösen, aber sie hatte immer das Gefühl, nah an der Tür zu sein.
Als ich endlich Feierabend machen wollte, kam mir plötzlich Base64 in den Sinn. Ich habe das Bild in Base64 konvertiert und direkt darauf zugegriffen. Es war eine perfekte Lösung! !

Fügen Sie hier eine Bildbeschreibung ein

Zusammenfassen

Derzeit werden die Anforderungen des gemeinsamen Debuggens von Front-End und Back-End zum Hochladen von Dateien (Bildern) und Herunterladen von Dateien (Bildern) in der Regel durch die Verwendung von Base64 gelöst. Außerdem habe ich zu wenig Back-End-Erfahrung. Derzeit kann ich denken der einfachsten Lösung.
Wenn es eine bessere Lösung gibt, hinterlassen Sie bitte eine Nachricht!

Ich denke du magst

Origin blog.csdn.net/ssnnyyjj/article/details/130985480
Empfohlen
Rangfolge