0

こんにちは、liferay ポートレットを使用しています。jspfileを使用してMySQLに画像パスを保存し、その画像パスを使用して別のjspファイルに画像を表示したい。これはどのように行うことができますか?

アップロード.jsp:

<aui:input type="file" label="Photo" name="photo"/>

Javaファイルを使用して、画像をデータベースに保存します。次のコードで、画像を MySQL に保存しようとします。

String photo=ParamUtil.getString(actionRequest,"photo"); 
directory d1 = new directoryImpl();
d1.setPhoto(photo);

次のコードを使用して、別のjspページで画像を取得しようとします。

  <% 
  int count = directoryLocalServiceUtil.getdirectoriesCount();
  List<directory> tlist=directoryLocalServiceUtil.getdirectories(0,count);
  %>
  <%
  for(directory dd:tlist)
  {
  %>
  <%=dd.getPhoto() %>
  <%
   }
   %>

しかし、これはデータベースフィールドに画像名を保存しますimages.jpg。データベースから取得すると、 のみ取得できますimages.jpg

別のページの画像を保存して取得するにはどうすればよいですか?

4

1 に答える 1

0

同じ問題がありました。ドキュメント ライブラリを使用している場合の私の解決策は次のとおりです。

 ThemeDisplay themeDisplay = (ThemeDisplay)renderRequest.getAttribute(WebKeys.THEME_DISPLAY);

try {
    FileEntry fileEntry = DLAppServiceUtil.getFileEntry(themeDisplay.getLayout().getGroupId(), 0, "test1.jpg");
    imagePath = DLUtil.getWebDavURL(themeDisplay, fileEntry.getFolder(), fileEntry);
    previewImagePath = DLUtil.getPreviewURL(fileEntry, fileEntry.getFileVersion(), themeDisplay, "");
} catch (PortalException e) {

    e.printStackTrace();
}
于 2014-06-16T19:34:55.910 に答える