3

メールに埋め込みたい画像がファイルサーバーにあります。

このようにローカル画像をメールで送信できます

message.addInline("image1", new ClassPathResource("../../static/images/123.jpg"));

しかし、ファイルサーバーの画像をメールで送信したい場合は機能しません。

message.addInline("image1", new ClassPathResource("http://fileserver.com/images/123.jpg"));

誰かがこれを行う方法があることを知っていますか?

4

2 に答える 2

2

この質問は1年前ですが、他の人の助けに貢献したいと思います...

春にはあなたが望む仕事をする方法があります。Spring3xリファレンスのこの章をご覧ください。またはSpring2x

履歴書:サーバーのファイルファイルシステムから画像ファイルを取得できます。あなたが参照で見ることができるように:

Resource res = new FileSystemResource(new File("c:/Sample.jpg"));
helper.addInline("identifier1234", res);

または、アプリケーションのクラスパスの相対パスから:

Resource res = new ClassPathResource("mx/blogspot/jesfre/test/image.png");

ただし、URLを使用してファイルサーバーからリソースを送信する場合は、@Ralphが言ったようなことを行うことができます。

Url url = new URL("http://fileserver.com/images/123.jpg");
Resource res = new InputStreamResource(u.openStream());

次に、メッセージにリソースを追加するだけです。

helper.addInline("myIdentifier", res);

これが誰かを助けることを願っています...

于 2012-10-11T19:28:28.297 に答える
1

問題は、http://fileserver.com/images/123.jpgクラスパスリソースがないことです。

ファイルシステムからイメージにアクセスする場合は、java.ioパッケージのファイルアクセスクラスを使用します。本当にhttp経由でファイルにアクセスする必要がある場合は、最初にファイルをダウンロードする必要があります。

Url url = new URL("http://fileserver.com/images/123.jpg");
InputStream is = u.openStream();
...
于 2011-06-22T07:37:47.803 に答える