zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    大数据基础文献综述
    牛客网数据库SQL实战
    Leetcode with Python
    tinyMCE
    HTTP LVS
    采坑大全
    Hadoop 解除 NameNode is in safe mode
    R语言采坑系列——Warning message: In validDetails.polygon(x) : 强制改变过程中产生了NA
    .Net中的异步编程
    知识点4
  • 原文地址:https://www.cnblogs.com/suoluo119/p/11447198.html
Copyright © 2011-2022 走看看