Диалог Сохранить как в Ext Js


Я хочу спросить, есть ли в Ext Js Modern диалог "Сохранить как"? Таким образом, я могу сохранить объект с веб-страницы в локальный файл.

2 ответа

Решение

Другое решение зависит от концепции портлета:

  1. во ViewController вы запускаете событие ex "downloadFile"
  2. в главном контроллере вы перехватываете событие, выполняете функцию "downloadFile" и вызываете функцию с тем же именем
  3. AjaxController (Ext.app.Controller) вы вызываете функцию doStandardSubmit

    location.href = this.url + '& operation = download & param1 =' + param1val;

  4. в 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

Другие вопросы по тегам