2017-05-05 3 views
0

Ich benutze Go-Mail, um E-Mails zu senden. Ich bin Bild eingebettet, um Mail von m.Embed ("common/static/img/logo.png") und verwenden diese in HTML von go-mail Bild einbetten funktioniert nicht mit exe

Es funktioniert gut beim Laufen main.go. Aber wenn ich main.exe projizieren und ausführen sollte, bekomme ich den Fehler "Das System kann den angegebenen Pfad nicht finden."

+2

In welchem ​​Verzeichnis befinden Sie sich, wenn Sie die ausführbare Datei ausführen? Es sucht nach dem Bild in Bezug auf wo auch immer Sie sind. – captncraig

+0

Verwenden Sie diese https://github.com/jteeuwen/go-bindata –

+0

Ich kopierte ausführbare Datei aus dem Arbeitsbereich auf dem Desktop und versuchte, es auszuführen. Sollte ich auch statische Dateien kopieren müssen? Ist es möglich, statische Dateien in ausführbare Dateien zu packen? –

Antwort

0

Es könnte hier mehrere Probleme geben.

Einer ist, dass der Dateipfad plattformspezifische Pfadtrennzeichen hat. Windows verwendet "\" anstelle von "/". Um plattformunabhängige Pfade verwenden https://godoc.org/path/filepath#Join

filepath.Join("common", "static", "img", "logo.png") 

Das andere Problem zu schreiben, wie Yandry Pozo darauf hingewiesen, ist, dass Sie möglicherweise nicht bis verpackt haben die logo.png Datei und verteilt sie mit Ihrem Code. Wenn das der Fall ist, könnte etwas wie https://github.com/jteeuwen/go-bindata helfen.

Verwandte Themen