Здравствуйте! файлы лежат в таблице:
| Код | CREATE TABLE WWDOC_DOCUMENT ( NAME VARCHAR2(256 BYTE) NOT NULL, MIME_TYPE VARCHAR2(128 BYTE), DOC_SIZE NUMBER, DAD_CHARSET VARCHAR2(128 BYTE), LAST_UPDATED DATE, CONTENT_TYPE VARCHAR2(128 BYTE), CONTENT LONG RAW, BLOB_CONTENT BLOB, ID_OBJ NUMBER NOT NULL )
|
Есть HTML страница содержащая таблицу с перечнем файлов (ссылки):
| Код | CREATE OR REPLACE PROCEDURE DOC_ZAYAVKA ( ID_Z number default null, ID_USER number default null ) AS begin htp.print(' <script language="JavaScript"> function opendocwin(id_doc) { opendocwin = window.open("download_doc?id_doc="+id_doc,"download_doc"); } </script> '); htp.htmlOpen; htp.headOpen; htp.print('<h1>Прикрепленные документы</h1>'); htp.headClose; htp.bodyopen(); htp.formOpen('DOC_ZAYAVKA?id_z='||id_z||'&'||'id_user='||id_user||'',cmethod=>'POST', ctarget => '_self',cattributes=>'NAME=DOC_ZAYAVKA'); htp.tableOpen(cattributes=>'border=1 cellspacing=0 cellpadding=2 width=100% ALIGN=CENTER'); htp.tableRowOpen(); htp.tableHeader('Наименование'); for doc in ( select id_obj id_doc, NAME nam from WWDOC_DOCUMENT ) loop htp.tableRowOpen(); htp.print('<TD><a href="javascript:opendocwin('||doc.id_doc||');">'||doc.nam||'</a></TD>'); end loop; htp.tableclose; htp.formclose; HTP.BODYCLOSE; htp.htmlclose; end;
|
При переходе по ссылке, отрабатывается процедура:
| Код | CREATE OR REPLACE PROCEDURE download_doc ( id_doc number default 0 ) AS l_blob_content WWDOC_DOCUMENT.blob_content%TYPE; l_mime_type WWDOC_DOCUMENT.mime_type%TYPE; BEGIN SELECT blob_content, mime_type INTO l_blob_content, l_mime_type FROM WWDOC_DOCUMENT WHERE id_obj = id_doc; OWA_UTIL.mime_header(l_mime_type, FALSE); HTP.p('Content-Length: ' || DBMS_LOB.getlength( l_blob_content)); OWA_UTIL.http_header_close; WPG_DOCLOAD.download_file (l_blob_content); EXCEPTION WHEN OTHERS THEN HTP.htmlopen; HTP.headopen; HTP.title('File Downloaded'); HTP.headclose; HTP.bodyopen; HTP.header(1, 'Download Status'); HTP.print(SQLERRM); HTP.bodyclose; HTP.htmlclose; END;
|
Файл открывается. При попытке открыть файл по ссылке повторно или открыть другой файл, ни какого действия не происходит(файлы не открываются). Файл можно открыть только после обновления страницы DOC_ZAYAVKA. Подскажите, пожалуйста, почему не работает ссылка на повторное открытие файла? И как это исправить |