Диалог Сохранить как в Ext Js
Я хочу спросить, есть ли в Ext Js Modern диалог "Сохранить как"? Таким образом, я могу сохранить объект с веб-страницы в локальный файл.
2 ответа
Другое решение зависит от концепции портлета:
- во ViewController вы запускаете событие ex "downloadFile"
- в главном контроллере вы перехватываете событие, выполняете функцию "downloadFile" и вызываете функцию с тем же именем
AjaxController (Ext.app.Controller) вы вызываете функцию doStandardSubmit
location.href = this.url + '& operation = download & param1 =' + param1val;
в Backend портлета (Java) вы пишете метод endPOint:
@EndpointMethod (encode = false) общедоступная пустая загрузка (DataAccessor dataAccessor, конфигурация AuthenticationGenerationConfiguration, строка @RequestKey String param1, ответ ResourceResponse) выдает IOException {
OutputStream outputStream = response.getPortletOutputStream (); пытаться {
// Adjusting content type response.setContentType("text/plain"); response.setProperty("Content-Disposition", "attachment; filename=\"" + FILENAME + "\""); outputStream.flush(); } finally { outputStream.close(); } }
Одно из решений (зависит от веб-браузера и поддерживается не всеми браузерами!) С использованием API Mozilla (File и BLOB), например: https://developer.mozilla.org/en-US/docs/Web/API/File/File и https://developer.mozilla.org/en-US/docs/Web/API/Blob