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/

转载于:https://www.cnblogs.com/suoluo119/p/11447198.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值