Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Wicket download / 12 сообщений из 12, страница 1 из 1
05.04.2012, 16:52:39
    #37740653
Azatmar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Wicket download
Кто не-будь знает как решить проблему в Wicket ajax download. Во время download Ajax Request не работеат в странице до завершения процесса. Проблема в том что во время болших файлов (500 Mb) Ajax link-и не работают в странице.
Буду благодарен за ответи.
...
Рейтинг: 0 / 0
06.04.2012, 11:15:53
    #37741576
mesier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Wicket download
Ну как можно что-то сказать, не видя кода??..
...
Рейтинг: 0 / 0
06.04.2012, 11:20:30
    #37741585
Azatmar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Wicket download
Код: 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
06.04.2012, 11:23:51
    #37741595
Azatmar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Wicket download
проблема в здесь target.appendJavaScript("window.location.href='" + url + "'");

после этого кода во время ajaxrequest пишет response busy. , но без этого download не начинается
...
Рейтинг: 0 / 0
06.04.2012, 11:53:06
    #37741664
mesier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Wicket download
А на форме (панели) что у вас? Как вы создаете ссылку?
...
Рейтинг: 0 / 0
06.04.2012, 12:02:50
    #37741680
Azatmar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Wicket download
Код: 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
06.04.2012, 12:43:36
    #37741770
mesier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Wicket download
Azatmar
Код: java
1.
2.
3.
4.
             @Override
            public void onClick(final AjaxRequestTarget target) {
               download.initiate(target);
            };



А что за объект download здесь?
Может быть следовало вызвать initiate объекта pdfDownload ?
...
Рейтинг: 0 / 0
06.04.2012, 13:03:38
    #37741814
Azatmar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Wicket download
Так и деалется, проблема ни в этом
...
Рейтинг: 0 / 0
06.04.2012, 13:20:00
    #37741848
mesier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Wicket download
Ну нет так нет...
Хотя, рассмотрение примера 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
06.04.2012, 13:33:46
    #37741879
Azatmar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Wicket download
Но здесь дело не в downloade других файлов , а просто блокиручтся ajaxlinkи , веб линки работачт нармально. Когда делач клик на аджакс линк пишет response is busy - postponing, и это продалжается до завершения скачивания
...
Рейтинг: 0 / 0
06.04.2012, 13:34:24
    #37741883
Azatmar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Wicket download
Эти примери я уже смотрел и примерно так и написано
...
Рейтинг: 0 / 0
06.04.2012, 16:47:06
    #37742308
mesier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Wicket download
Ну вот я и говорю - похоже это wicket запрещает..
К сожалению я не знаю как на низком уровне выполняются Ajax GET-запросы, не могу прокомментировать зачем так сделано.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Wicket download / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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