• ftp上传下载| 图片上传下载



    弹出输入文件路径提示
    *1. Open File Dialog
      CALL METHOD cl_gui_frontend_services=>file_open_dialog
        CHANGING
          file_table  = lt_file  "Table Holding Selected Files
          user_action = l_user_action
          rc          = l_rc.
      IF l_user_action = cl_gui_frontend_services=>action_ok.  "ACTION_CANCEL.
        READ TABLE lt_file INTO lx_file INDEX 1.
        IF sy-subrc = 0.
          l_filename = lx_file-filename.
        ELSE.
          CLEAR l_filename.
        ENDIF.
      ELSE.
        CLEAR l_filename.
      ENDIF.


    1、文件上传到 FTP    参考程序 ZFG_MM052d
     CALL FUNCTION 'Z_FTP_UPLOAD'
          EXPORTING
            l_data       = wa_data
          EXCEPTIONS
            connecterror = 1
            OTHERS       = 2.
    2、文件下载从 FTP  参考程序 ZFG_MM052d
     CALL FUNCTION 'Z_FTP_DOWNLOAD'
        EXPORTING
          l_data       = wa_data
        TABLES
          t_dir        = l_dir[]
        EXCEPTIONS
          connecterror = 1
          OTHERS       = 2.
      IF sy-subrc <> 0.
    * Implement suitable error handling here
      ENDIF.

    3、图片转换成编码上传到 ZTPICTURE表中

     DATA: l_url            TYPE char256,
            l_filename       TYPE string,
    *        L_PATH           type STRING,
            l_length         TYPE i,
            lt_file           TYPE filetable,
            lx_file           LIKE LINE OF lt_file,
            l_rc             TYPE i,
            l_user_action    TYPE i.
      DATA: l_picid TYPE indx_srtfd.

      REFRESH f_it_pic_data_out.


    *2. Upload the file
      IF l_filename IS NOT INITIAL .
        CALL METHOD cl_gui_frontend_services=>gui_upload
          EXPORTING
            filename   = l_filename           "Name of file
            filetype   = 'BIN'                "Here is ”Binary type”
          IMPORTING
            filelength = l_length             "File length
          CHANGING
            data_tab   = f_it_pic_data_out[]  "Transfer table for file contents
          EXCEPTIONS
            OTHERS     = 19.
        IF sy-subrc NE 0 .
          MESSAGE e001(00) WITH 'Upload the file Error'.
        ENDIF.
      ENDIF.


    4、从表 ZTPICTURE 中下载图片  参考程序成衣询价单 ZFC_MM005B

    FORM load_picture_from_db USING f_key_in ”F_KEY_IN是通知单号也就是流水号
                            CHANGING f_it_pic_data_out TYPE ty_t_pic_data.
      DATA: l_picid TYPE indx_srtfd.
      REFRESH f_it_pic_data_out.
      CONCATENATE 'ZCOSTACCH' f_key_in INTO l_picid .
      IMPORT pic_data = f_it_pic_data_out FROM DATABASE ztpicture(mm) ID l_picid.”取得表中编码
      IF sy-subrc <> 0.
        REFRESH f_it_pic_data_out.
      ENDIF.
    ENDFORM.                    "LOAD_PICTURE_FROM_DB

     data :l_length TYPE i. “这两个方法都可以把图片编码以图片的形式下载到本地  ZT
         CALL METHOD cl_gui_frontend_services=>gui_DOWNLOAD
          EXPORTING
            filename   = 'C:Documents and SettingsAdministrator桌面1.JPG'        "Name of file
            filetype   = 'BIN'                "Here is ”Binary type”
          IMPORTING
            filelength = l_length             "File length
          CHANGING
            data_tab   = it_pic_data[]  "Transfer table for file contents
          EXCEPTIONS
            OTHERS     = 19.

         CALL FUNCTION 'GUI_DOWNLOAD'
          EXPORTING
    *       BIN_FILESIZE            =
            filename                =  'C:Documents and SettingsAdministrator桌面1.JPG'
            filetype                = 'JPG'
          TABLES
            data_tab                = it_pic_data[]
          EXCEPTIONS
            file_write_error        = 1
            no_batch                = 2
            gui_refuse_filetransfer = 3
            invalid_type            = 4
            no_authority            = 5
            unknown_error           = 6
            header_not_allowed      = 7
            separator_not_allowed   = 8
            filesize_not_allowed    = 9
            header_too_long         = 10
            dp_error_create         = 11
            dp_error_send           = 12
            dp_error_write          = 13
            unknown_dp_error        = 14
            access_denied           = 15
            dp_out_of_memory        = 16
            disk_full               = 17
            dp_timeout              = 18
            file_not_found          = 19
            dataprovider_exception  = 20
            control_flush_error     = 21
            OTHERS                  = 22.

  • 相关阅读:
    jquery遍历节点 children(),next(),prev(),siblings()closest() 等一些常用方法...
    jq 分页
    java8 array、list操作 汇【4】)- Java8 Lambda表达式 函数式编程【思想】
    java8 array、list操作 汇【2】)- (Function,Consumer,Predicate,Supplier)应用
    Java8 (Function,Consumer,Predicate,Supplier)详解
    Elasticsearch
    org.apache.commons.lang3.Validate
    freemarker逻辑判断写法#if
    11 Sping框架--AOP的相关概念及其应用
    10 Spring框架--基于注解的IOC配置
  • 原文地址:https://www.cnblogs.com/springzt/p/4563735.html
Copyright © 2020-2023  润新知