例子可参考aooi100,上传集团logo的程序
ON ACTION btn_updatelogo #選取上傳檔案,GDC專用
LET gs_upload = NULL
CALL cl_client_browse_file() RETURNING gs_upload
IF NOT cl_null(gs_upload) THEN #C:/Users/P12345/Desktop/title/hlep_titlebg1.png
LET g_file_extension = os.Path.extension(gs_upload) #副檔名
#放在暫存目錄要改名,避免檔名重複
LET gs_pid = FGL_GETPID()
LET g_num = g_num + 1
LET g_str = g_num
LET g_new_path = g_prog CLIPPED,"_",gs_pid CLIPPED,"_",g_user CLIPPED,"_",g_str CLIPPED,".",g_file_extension
LET g_new_path = os.Path.join(FGL_GETENV("TEMPDIR"),g_new_path CLIPPED)
CALL FGL_GETFILE(gs_upload,g_new_path) #Transfers a file from the front end workstation to the application server machine.
IF os.Path.exists(g_new_path) THEN
LET g_tmpfile = g_new_path
LET g_ooek_fileimg = g_tmpfile
DISPLAY g_ooek_fileimg TO FORMONLY.fileimg
LET g_logo_flag = "Y"
INITIALIZE g_errparam TO NULL
LET g_errparam.code = "aoo-00398"
LET g_errparam.extend = ""
LET g_errparam.popup = TRUE
CALL cl_err()
CONTINUE DIALOG
ELSE
LET g_ooek_fileimg = NULL
DISPLAY g_ooek_fileimg TO FORMONLY.fileimg
INITIALIZE g_errparam TO NULL
LET g_errparam.code = "azz-00101"
LET g_errparam.extend = ""
LET g_errparam.popup = TRUE
CALL cl_err()
CONTINUE DIALOG
END IF
END IF
#end add-point
logo上傳至報表主機
PRIVATE FUNCTION aooi100_01_upd_logo()
DEFINE l_filename STRING
DEFINE ls_run_cmd STRING,
lb_run_result BOOLEAN,
ls_err_msg STRING
IF g_logo_flag = "Y" THEN
#logo檔案名稱為"dsdemo_99_DSCTC_zh_TW.jpg"
LET l_filename = g_enterprise
LET l_filename = g_dbs CLIPPED,"_",l_filename CLIPPED,"_",g_ooek_m.ooek001 CLIPPED,"_",g_ooek_m.ooek002 CLIPPED,".jpg"
CALL fgl_ws_setOption("http_invoketimeout", 60) #若 60 秒內無回應則放棄
#透過Web Service將檔案上傳到報表主機
LET ls_run_cmd = "r.r awsp301 ",FGL_GETENV("ZONE")," ", l_filename," ",g_new_path
CALL cl_cmdrun_openpipe("r.r awsp300_01", ls_run_cmd, FALSE) RETURNING lb_run_result,ls_err_msg
END IF
END FUNCTION
转载请注明:赫非域 » T100——上传图片