mohamed hanafi muhmoud بتاريخ: 8 يونيو 2023 تقديم بلاغ مشاركة بتاريخ: 8 يونيو 2023 DECLARE v_blob BLOB; v_file_type VARCHAR2 (25) := 'pdf'; v_file_name VARCHAR2 (25) := 'WaterLevel_12.'||v_file_type; v_vcContentDisposition VARCHAR2 (25) := 'inline'; v_D1 date :=:P21_START_DATE; v_D2 date :=:P21_END_DATE; v_STA VARCHAR2(100) :=:P21_STATION; v_AREA VARCHAR2(100) :=:P21_AREA; v_USER VARCHAR2(160) :=:P0_USERNAME; -----v_SEN VARCHAR2(100) :=:P21_SENSOUR_S; --v_SEN NUMBER :=:P21_SENSOUR_S; v_hostname VARCHAR2(100) := 'localhost'; v_port NUMBER := '9006'; v_username VARCHAR2(50) := 'jasperadmin'; v_password VARCHAR2(50) := 'jasperadmin'; v_jasper_string VARCHAR2(30) := v_username || ';' || v_password; v_jasper VARCHAR2(220) := v_D1 || ';' || v_D2 || ';' || v_STA || ';' || v_AREA || ';' || v_USER; v_login_url VARCHAR2(100) := 'http://' || v_hostname || ':' || v_port || '/jasperserver/rest/login'; v_report_url VARCHAR2(100) := 'http://' || v_hostname || ':' || v_port || '/jasperserver/rest_v2/reports/reports/' || v_file_name; BEGIN -- log into jasper server v_blob := apex_web_service.make_rest_request_b( p_url => v_login_url, p_http_method => 'GET', p_parm_name => apex_util.string_to_table('j_username;j_password',';'), p_parm_value => apex_util.string_to_table(v_jasper_string,';') ); -- download file v_blob := apex_web_service.make_rest_request_b( p_url => v_report_url, p_http_method => 'GET', p_parm_name => apex_util.string_to_table('P_D1;P_D2;P_STA;P_AREA;P_USER',';'), p_parm_value => apex_util.string_to_table(v_jasper,';') ); --OWA_UTIL.mime_header ('application/pdf', FALSE); -- view your pdf file OWA_UTIL.MIME_HEADER( 'application/octet', FALSE ); -- download your pdf file HTP.p('Content-Length: ' || DBMS_LOB.GETLENGTH(v_blob)); HTP.p('Content-Disposition: ' || v_vcContentDisposition ||'; filename="' || v_file_name || '"'); OWA_UTIL.http_header_close; WPG_DOCLOAD.DOWNLOAD_FILE(v_blob); APEX_APPLICATION.STOP_APEX_ENGINE; END; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.