留言板
урл адрес к временному файлу
Привет.
временный файл физически сохраняется в 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> поставить?
Alexey Melnikov,修改在9 年前。
RE: урл адрес к временному файлу
Regular Member 帖子: 108 加入日期: 12-3-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() вытаскивать?
Alexey Melnikov,修改在9 年前。
RE: урл адрес к временному файлу
Regular Member 帖子: 108 加入日期: 12-3-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("!!!!!!!!!!!!!!!!!!!!!!!!!!");
}
Alexey Melnikov,修改在9 年前。
RE: урл адрес к временному файлу
Regular Member 帖子: 108 加入日期: 12-3-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