掲示板
урл адрес к временному файлу
Привет.
временный файл физически сохраняется в data\document_library\0\0\liferay_temp\com.tt.editprofile.EditProfile\10405\10153_temp.tmp\
Вопрос такой, как получить его урл адрес, что бы в тег <img src> поставить?
public void addTemp(ActionRequest actionRequest, ActionResponse actionResponse)
throws Exception {
UploadPortletRequest uploadPortletRequest = PortalUtil.getUploadPortletRequest(actionRequest);
ThemeDisplay themeDisplay = (ThemeDisplay)actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
try {
TempFileUtil.deleteTempFile(themeDisplay.getUserId(),
getTempImageFileName(actionRequest), getTempImageFolderName());
}
catch (Exception e) {
}
InputStream inputStream = null;
try {
inputStream = uploadPortletRequest.getFileAsStream("fileName");
String fileName = uploadPortletRequest.getFileName("fileName");
String ert = TempFileUtil.addTempFile(themeDisplay.getUserId(),
getTempImageFileName(actionRequest), getTempImageFolderName(),
inputStream);
}
catch (Exception e) {
e.printStackTrace();
}
finally {
StreamUtil.cleanUp(inputStream);
}
}
временный файл физически сохраняется в data\document_library\0\0\liferay_temp\com.tt.editprofile.EditProfile\10405\10153_temp.tmp\
Вопрос такой, как получить его урл адрес, что бы в тег <img src> поставить?
9年前 に Alexey Melnikov によって更新されました。
RE: урл адрес к временному файлу
Regular Member 投稿: 108 参加年月日: 12/03/27 最新の投稿
Попробуйте что-то вроде этого:
Или другие методы из этого класса
com.liferay.portlet.documentlibrary.util.DLUtil.getImagePreviewURL(FileEntry, FileVersion, ThemeDisplay)
com.liferay.portlet.documentlibrary.util.DLUtil.getFileEntryImage(FileEntry, ThemeDisplay)
Или другие методы из этого класса
Попробую.
Но мне кажется, даже если получу урл адрес, доступа наверно все равно не будет. Наверно нужно через public void serveResource() вытаскивать?
Но мне кажется, даже если получу урл адрес, доступа наверно все равно не будет. Наверно нужно через public void serveResource() вытаскивать?
9年前 に Alexey Melnikov によって更新されました。
RE: урл адрес к временному файлу
Regular Member 投稿: 108 参加年月日: 12/03/27 最新の投稿
Это уже зависит от настроенных прав доступа до этого файла в библиотеке документов.
Если вы хотите прочитать файл с файловой системы и отдать в виде байтов - то тут да, только serveResource().
Если вы хотите прочитать файл с файловой системы и отдать в виде байтов - то тут да, только serveResource().
Не могу достучатся до метода serveResource().
а портлет молчит
<portlet:resourceurl var="getTempImageFileURL">
<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.GET_TEMP %>" />
<portlet:param name="p_u_i_d" value="<%= String.valueOf(selUser.getUserId()) %>" />
</portlet:resourceurl>
а портлет молчит
public void serveResource(
PortletConfig portletConfig, ResourceRequest resourceRequest,
ResourceResponse resourceResponse)
throws Exception {
System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!");
}
9年前 に Alexey Melnikov によって更新されました。
RE: урл адрес к временному файлу
Regular Member 投稿: 108 参加年月日: 12/03/27 最新の投稿
Не забывайте добавлять в начале страницы
<portlet:defineObjects/>
И убедитесь, что в вашем портлете у метода нужен аргумент PortletConfig.
Вот например подобное решение https://www.liferay.com/community/forums/-/message_boards/message/3345755
<portlet:defineObjects/>
И убедитесь, что в вашем портлете у метода нужен аргумент PortletConfig.
Вот например подобное решение https://www.liferay.com/community/forums/-/message_boards/message/3345755