Struts 2 автоматически открывает .doc или .docx при загрузке - PullRequest
1 голос
/ 20 июня 2011

Может быть, глупый вопрос, но я устал от гугла ...

Я работаю над веб-приложением Struts 2, которое позволяет пользователям редактировать файлы .docx, которые хранятся на сервере. Например, пользователь нажимает кнопку «РЕДАКТИРОВАТЬ», затем документ отправляется ему / ей. После завершения редактирования обновленный файл возвращается на сервер.

Ну, это идея. Я использую Struts 2 result type="stream" с contentDisposition, установленным на attachment. Это, очевидно, предоставляет пользователю диалоговое окно Сохранить. inline contentDisposition не подходит для файлов Word - браузеры все равно его не загрузят.

ВОПРОС 1:

Есть ли способ "молча" сохранить файл на клиенте? Звучит как угроза безопасности для меня - но я могу ошибаться.

ВОПРОС 2:
Далее, как мне запустить загруженный файл .docx на клиенте? Опять же, я сомневаюсь, что это легко сделать (безопасность и все такое), но я тоже могу ошибаться. : D

Я знаю, что пользователи могут жить с диалоговым окном сохранения, если загруженный документ автоматически открывается в Word.

Любые идеи приветствуются.

1 Ответ

4 голосов
/ 20 июня 2011

Есть ли способ "тихо" сохранить файл на клиенте? Звучит как угроза безопасности для меня - но я могу ошибаться.

Не использует Struts2 / HTML / JS. Вам нужно создать подписанный (!) Апплет, который сделает это, а затем внедрить этот апплет в веб-страницу.


Далее, как мне запустить загруженный файл .docx на клиенте? Опять же, я сомневаюсь, что это легко сделать (безопасность и все такое), но я тоже могу ошибаться.

Также здесь используйте подписанный апплет. После того, как вы сохранили File на стороне клиента с помощью апплета, это так же просто, как

Desktop.getDesktop().open(file);

до тех пор, пока на клиентской платформе установлено приложение MS Word и связано расширение doc(x) с MS Word.


В качестве совершенно другой альтернативы вы также можете преобразовать документ MS Word в HTML, а затем представить его в форме редактирования чистого HTML (который может быть легко создан с помощью JSP / Struts2), а затем при отправке формы преобразовать его обратно в Документ MS Word. Это также в основном то, что делает Google Docs.

...