• SAPUI5上传图片或者其他文件 back-end


    1 在SEGW中创建一个新的工程。

     

     

    2 创建一个Entity "File", 并且为这个Entity创建Entity Set "FileSet", 这里也可以起其他的名字

     

     

    3 设置Entity为Media类型。

     

    4 创建属性property "FileName" 设置为key,并设置为string类型

     

      

     5 运行Generate run-time objects (or artifacts)

      

      

      6 创建Z table ZZUPLD 用来存储文件,存储文件的字段类型要定义成"RAWSTRING"类型.

     

     7 选择ZCL_ZDEMO_FILE_TEST_DPC_EXT,重新实装

      /IWBEP/IF_MGW_APPL_SRV_RUNTIME~GET_STREAM 用于Get操作。

      /IWBEP/IF_MGW_APPL_SRV_RUNTIME~UPDATE_STREAM 用于Put操作。

     要是需要Post与Delete操作,需要实装另外的方法.

      

     

     /IWBEP/IF_MGW_APPL_SRV_RUNTIME~GET_STREAM 

    DATA: ls_stream  TYPE ty_s_media_resource,
    
                  ls_upld    TYPE zzupld.
    
    READ TABLE it_key_tab ASSIGNING FIELD-SYMBOL(<fs_key>) INDEX 1.
    
    DATA: lv_filename TYPE char30.
    
    lv_filename = <fs_key>-value.
    
    SELECT SINGLE * FROM zzupld INTO ls_upld WHERE filename = lv_filename.
    
      IF ls_upld IS NOT INITIAL.
    
    ls_stream-value = ls_upld-value.
    
    ls_stream-mime_type = ls_upld-mimetype.
    
    copy_data_to_ref( EXPORTING is_data = ls_stream
    
                        CHANGING  cr_data = er_stream ).
    
    ENDIF.

    /IWBEP/IF_MGW_APPL_SRV_RUNTIME~UPDATE_STREAM

    DATA: lw_file TYPE zzupld.
    
    READ TABLE it_key_tab ASSIGNING FIELD-SYMBOL(<fs_key>) INDEX 1.
    
    lw_file-filename = <fs_key>-value.
    
    lw_file-value    = is_media_resource-value.
    
    lw_file-mimetype = is_media_resource-mime_type.
    
    lw_file-sydate  = sy-datum.
    
    lw_file-sytime  = sy-uzeit.
    
    MODIFY zzupld FROM lw_file.

    8 注册服务

     

     

     

     9  测试Get /sap/opu/odata/SAP/ZDEMO_FILE_TEST_SRV/FileSet('lor.jpg')/$value ,注意FileSet中的文件名需要使用单引号. 这里的图片,我是先用Put上传的.

     

     10 测试Put /sap/opu/odata/sap/ZDEMO_FILE_SRV/FileSet('lor.jpg')/$value ,注意FileSet中的文件名需要使用单引号.

           因为的的segw还是有403 crfc的问题,所以这里用Postman测试,需要在httphead中设置以下信息。 其中Cookie与x-csrf-token,是在get之中取得的数据。

           在Body中选择需要上传的文件.

      

    参照:

    https://blogs.sap.com/2014/09/23/file-uploaddownload-through-netweaver-gateway/

  • 相关阅读:
    js 删除数组的某一项或者几项的方法
    JavaScript 面向对象的程序设计(一)之理解对象属性
    iview 之 穿梭框 transfer
    iview2.0 bug之+8 区的 DatePicker
    js Object.keys 用法
    js map 、filter 、forEach 、every、some 的用法
    iview tree 之如何获取已勾选的节点
    js 中常见的深拷贝的方法
    ES6新特性
    Amazon2014在线笔试 第三题
  • 原文地址:https://www.cnblogs.com/suoluo119/p/11447198.html
Copyright © 2020-2023  润新知