Display doc file in iframe struts2
Я хочу показать .doc
а также .docx
файлы на моем сайте в iframe.
<iframe style="border-style: none;" src="http://docs.google.com/viewer?embedded=true&url=<s:url action="loadFile"><s:param name="id" value="id"/></s:url>" height="500" width="100%">
Действие loadFile отправляет результат типа stream
<action name="loadFile" class="com.view.file" method="loadFile">
<result name="success" type="stream">
<param name="contentType">${fileType}</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">inline;filename="${fileName}"</param>
<param name="bufferSize">1024</param>
</result>
</action>
Iframe работает, когда я устанавливаю URL действия прямо в атрибуте src. Однако с src="http://docs.google.com/viewer?embedded=true&url=
действие никогда не называется. Есть ли другая альтернатива, чтобы показать файл MS Word? Я могу показать PDF, непосредственно поместив URL-адрес действия в атрибут src.
Спасибо
РЕДАКТИРОВАТЬ
Проблема может быть в том, что src iframe преобразуется в:
src="http://docs.google.com/viewer?embedded=true&url=/App/loadFile?id=25"
Требуемый URL-адрес должен быть абсолютным URL-адресом действия:
src="http://docs.google.com/viewer?embedded=true&url=http://localhost/App/loadFile?id=25"
Как я могу этого достичь? Это может не работать на локальном хосте, но должно работать на хостинге
1 ответ
Используйте атрибут forceAddSchemeHostAndPort
из s:url
тег, чтобы получить полный URL
Например
<s:url action='myaction' forceAddSchemeHostAndPort='true'>
<s:param name='id' value='25'/>
</s:url>