powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Wicket download
12 сообщений из 12, страница 1 из 1
Wicket download
    #37740653
Azatmar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто не-будь знает как решить проблему в Wicket ajax download. Во время download Ajax Request не работеат в странице до завершения процесса. Проблема в том что во время болших файлов (500 Mb) Ajax link-и не работают в странице.
Буду благодарен за ответи.
...
Рейтинг: 0 / 0
Wicket download
    #37741576
mesier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну как можно что-то сказать, не видя кода??..
...
Рейтинг: 0 / 0
Wicket download
    #37741585
Azatmar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
/**
     * Call this method to initiate the download.
     */
    public void initiate(AjaxRequestTarget target) {
        String url = getCallbackUrl().toString();
        if (addAntiCache) {
            url = url + (url.contains("?") ? "&" : "?");
            url = url + "antiCache=" + System.currentTimeMillis();
        }
        target.appendJavaScript("window.location.href='" + url + "'");
//        target.appendJavaScript("window.setTimeout(\"window.location.href=''\", 30000);");
        //target.appendJavaScript("window.setTimeout(\"window.location.href='" + url + "'\", 10000);");
    }

    public void onRequest() {
        try {
            getComponent().getRequestCycle().scheduleRequestHandlerAfterCurrent(new ResourceStreamRequestHandler(getResourceStream(), getFileName()));
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
...
Рейтинг: 0 / 0
Wicket download
    #37741595
Azatmar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проблема в здесь target.appendJavaScript("window.location.href='" + url + "'");

после этого кода во время ajaxrequest пишет response busy. , но без этого download не начинается
...
Рейтинг: 0 / 0
Wicket download
    #37741664
mesier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на форме (панели) что у вас? Как вы создаете ссылку?
...
Рейтинг: 0 / 0
Wicket download
    #37741680
Azatmar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
final AJAXDownload pdfDownload = new AJAXDownload(DownloadResource.JOB_EXTRACT_SINGLE_DATA, job)
        {
            private static final long serialVersionUID = 1L;

            @Override
            protected String getRenderType() {
                return "pdf";
            }

            @Override
            protected int getRowNumber() {
                return 1;
            }
        };
        jobForm.add(pdfDownload);
        AjaxLink<Object> pdfLink;
        jobForm.add(pdfLink = (AjaxLink<Object>) new AjaxLink<Object>("downloadPdfLink")
        {
            /**
             * 
             */
            private static final long serialVersionUID = 1L;

            @Override
            public void onClick(final AjaxRequestTarget target) {
               download.initiate(target);
            };
               
            }
...
Рейтинг: 0 / 0
Wicket download
    #37741770
mesier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Azatmar
Код: java
1.
2.
3.
4.
             @Override
            public void onClick(final AjaxRequestTarget target) {
               download.initiate(target);
            };



А что за объект download здесь?
Может быть следовало вызвать initiate объекта pdfDownload ?
...
Рейтинг: 0 / 0
Wicket download
    #37741814
Azatmar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так и деалется, проблема ни в этом
...
Рейтинг: 0 / 0
Wicket download
    #37741848
mesier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну нет так нет...
Хотя, рассмотрение примера AJAX update and file download in one blow подсказывает мне, что я в чем-то прав..

Возможно это wicket где-то внутри запрещает повторные клики на странице, с помощью каких-то своих JavaScript-ов. Например, в спецификации DownloadLink ЯВНО предупреждают, что объекты DOM блокируются на время процесса скачивания:
NOTICE that this link will block the pagemap. That means only one link from the pagemap can be downloaded at a time, and also while the download happens no pages from this pagemap can be accessed. If you need to stream multiple files concurrently without blocking then you should use shared resources or a non-wicket servlet.

Рекомендую обратиться на форум любителей wicket для прояснения картины.. Там тусуются в том числе и авторы-разработчики wicket:
Apache Wicket --
Как у вас с английским?
...
Рейтинг: 0 / 0
Wicket download
    #37741879
Azatmar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но здесь дело не в downloade других файлов , а просто блокиручтся ajaxlinkи , веб линки работачт нармально. Когда делач клик на аджакс линк пишет response is busy - postponing, и это продалжается до завершения скачивания
...
Рейтинг: 0 / 0
Wicket download
    #37741883
Azatmar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эти примери я уже смотрел и примерно так и написано
...
Рейтинг: 0 / 0
Wicket download
    #37742308
mesier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот я и говорю - похоже это wicket запрещает..
К сожалению я не знаю как на низком уровне выполняются Ajax GET-запросы, не могу прокомментировать зачем так сделано.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Wicket download
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]