powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Проблема с загрузкой файла
9 сообщений из 9, страница 1 из 1
Проблема с загрузкой файла
    #38514455
apex_hater
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. В приложении по клику на ссылку выполняется переход на текущую страницу с соответствующим реквестом. По реквесту запускается apex'овый процесс со следующим pl\sql кодом (привожу пример тестового варианта):

Код: plsql
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.
DECLARE
        bBlobContent  blob;
        sFileName       varchar2(100) := "Файл";
        sMime            varchar2(100) := 'text/csv';
        sLength          varchar2(20);
BEGIN
 
        SELECT bload_std    ,  TO_CHAR(dbms_lob.getlength(some_blob))
        INTO   blob_content ,  sLength
        FROM   some_table
        WHERE  some_id = :another_id   ;

        OWA_UTIL.mime_header (NVL (sMime, 'application/octet'), FALSE);
        HTP.p ('Content-length: ' || sLength);

        if INSTR(UPPER(OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT')), 'MSIE') > 0 then
           HTP.P ('Content-Disposition:  attachment; filename="' 
           || UTL_URL.ESCAPE( sFileName, FALSE, 'UTF-8' ) || '"');
        else
           HTP.P('Content-Disposition:  attachment; filename*=UTF-8'''''||UTL_URL.ESCAPE( sFileName, FALSE, 'UTF-8' ));
        end if;

        OWA_UTIL.http_header_close;
        WPG_DOCLOAD.download_file(blob_content); 
END;



Код стандартный, ничего нового. Но почему-то файл открывается прямиком в странице браузера, а не скачивается. Я всегда думал, что поля "Content-Disposition" со значениями attachment и именем файла достаточно. Где я допустил ошибку ? Заранее спасибо за ответ.
...
Рейтинг: 0 / 0
Проблема с загрузкой файла
    #38514477
apex_hater
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Торопился и скопировал не то немного. В некоторых местах названия переменных не совпадают. Вместо bBlobContent blob_content и
some_blob вместо bload_std. Суть все равно не в этом.
...
Рейтинг: 0 / 0
Проблема с загрузкой файла
    #38514506
29 Белых Котиков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apex_hater,

Попробуйте в ветке файрфокса заменить две кавычки на кавычку и двойную кавычку и контент тайп на application/x-unknown
...
Рейтинг: 0 / 0
Проблема с загрузкой файла
    #38514549
apex_hater
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно забыл добавить,что файл не скачивается, т.е. открывается на текущей странице, для всех браузеров: Firefox 26.xx , Chrome 31.xx, IE 11, Opera 12.xx (на движке Presto). Тут явно мой косяк.
...
Рейтинг: 0 / 0
Проблема с загрузкой файла
    #38514579
apex_haterТут явно мой косяк.
именно. и косяк в том, что даунлод файла нужно делать не в процессе на странице апекса, а вызовом собственной процедуры без всяких апексов напрямую, иначе ничего у Вас не выйдет.
и мурзилка дока именно об этом и говорит:
Читаем раздел "Downloading Documents from the Custom Table"
...
Рейтинг: 0 / 0
Проблема с загрузкой файла
    #38514595
apex_hater
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хы, это первое на что я обратил внимание. Во всех тутуриалах и пр. создается процедура на стороне сервера. А я пихаю в процесс, но так как я не смог придумать, почему она НЕ будет работать как процесс, то решил оставить все как есть. И собственно, вопрос тогда, проблема в политиках безопасности ?
...
Рейтинг: 0 / 0
Проблема с загрузкой файла
    #38514599
apex_hater,

никакие политики тут не при чём. всё ж очевидно. попробуйте подумать, и поймёте...
...
Рейтинг: 0 / 0
Проблема с загрузкой файла
    #38514664
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или htp.init + apex_application.stop_apex_engine, подробности поиском

p.s. и смените ник, вообще удивляюсь, человек пишет, чтобы потроллить, и все кинулись ему отвечать...
...
Рейтинг: 0 / 0
Проблема с загрузкой файла
    #38515382
Migelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Трудяга Биггери косяк в том, что даунлод файла нужно делать не в процессе на странице апекса, а вызовом собственной процедуры без всяких апексов напрямую, иначе ничего у Вас не выйдет.
Странно, у меня вышло. Пользуюсь вот этим:
Код: plsql
1.
2.
3.
4.
5.
wwv_flow_file_mgr.download_file (p_file_content => l_blob, 
                                 p_file_name => 'имя_файла.xls', 
                                 p_mime_type => 'application/excel', 
                                 p_file_charset => 'UTF-8', 
                                 p_last_updated_on => Sysdate);

Файл прекрасно загружается прямо из процесса "On Load Before headers".
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Проблема с загрузкой файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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