私はメールを送信するためにgo-mailを使用しています。私はそれがうまく動作してmain.go.作品 go-mail埋め込みイメージがexeで動作しない
によって m.Embed(「共通/静的/ IMG/logo.png」) とHTMLでこれを使うことで、メール に画像が埋め込まれています しかし、私がプロジェクトを実行してmain.exeを実行すると、 "システムが指定されたパスを見つけることができませんでした"というエラーが表示されます。
私はメールを送信するためにgo-mailを使用しています。私はそれがうまく動作してmain.go.作品 go-mail埋め込みイメージがexeで動作しない
によって m.Embed(「共通/静的/ IMG/logo.png」) とHTMLでこれを使うことで、メール に画像が埋め込まれています しかし、私がプロジェクトを実行してmain.exeを実行すると、 "システムが指定されたパスを見つけることができませんでした"というエラーが表示されます。
ここには複数の問題がある可能性があります。
1つは、使用したファイルパスにプラットフォーム固有のパス区切り文字が含まれていることです。 Windowsは "/"の代わりに "¥"を使用します。プラットフォームに依存しないパスを書き込むには、他の問題https://godoc.org/path/filepath#Join
filepath.Join("common", "static", "img", "logo.png")
を使用Yandryポゾが指摘したように、あなたはlogo.pngファイルをパッケージ化し、あなたのコードでそれを配布していない可能性がありますということです。その場合は、https://github.com/jteeuwen/go-bindataのようなものが役立つかもしれません。
実行ファイルを実行するときにどのディレクトリにいますか?それはあなたがどこにいても相対的なイメージを探しています。 – captncraig
このhttps://github.com/jteeuwen/go-bindataを使用 –
私は実行可能ファイルをデスクトップにコピーして実行しようとしました。静的なファイルもコピーする必要がありますか?実行可能ファイルに静的ファイルをパッケージ化することは可能ですか? –