核心内容:

(1)使用到两个函数模块(FM):SCMS_BINARY_TO_XSTRING 和 SCMS_XSTRING_TO_BINARY;

(2)数据库保存图片的字段设为 RAWSTRING类型(对应于ABAP数据类型XSTRING)。

一、假设场景及前提

(1)将客户端C盘下的“PIC.JPG”文件保存到表ZTPIC中;

(2)ZTPIC表中包含一个名为PICDATA,类型为RAWSTRING的字段用于保存图片内容;

(3)当需要显示的时候,将此字段的图片在Picture控件中显示出来。

以下是实现的代码:

(1)全局变量定义

types: begin of ty_pic,
  pic_data(1024) type x,
end of ty_pic.
data pic_tab type table of ty_pic.
data wa_pic type ztpic.
data: c_pic type ref to cl_gui_custom_container,
      pic type ref to cl_gui_picture.
data:len type i,url(256),
resu type i value 123,
path_string type string.

(2)保存(代码实现)

path_string = 'C:\PIC.jpg'.
data lv_content type xstring.
call function 'GUI_UPLOAD'
exporting
          filename   = path_string
          filetype   = 'BIN'
importing
          filelength = len
tables
          data_tab   = pic_tab[].
call function 'SCMS_BINARY_TO_XSTRING'
exporting
      input_length = len
importing
buffer       = lv_content
tables
      binary_tab   = pic_tab[]
exceptions
  failed       = 1
  others       = 2.

*wa_pic其他组件的赋值略!

wa_pic-picdata = lv_content.
insert into ztpic values wa_pic.

(3)显示(代码实现)

clear pic_tab.
select single * from ztpic into wa_pic. “简单起见,假设只有一条记录
call function 'SCMS_XSTRING_TO_BINARY'
exporting
  buffer     = wa_pic-picdata
tables
  binary_tab = pic_tab.

call function 'DP_CREATE_URL'
exporting
type    = 'IMAGE'
          subtype = 'JPG'
tables
data    = pic_tab
changing
          url     = url.
create object c_pic
exporting
          container_name = 'C_PIC'.
create object pic
exporting
          parent = c_pic.
call method pic->load_picture_from_url
exporting
          url    = url
importing
          result = resu.

将客户端图片保存到数据库中的方法相关推荐

  1. java图片保存到数据库_java中将图片保存到数据库中

    在实际的开发中,我们可能需要将图片.影音等文件直接保存到数据库中,然后通过编程方式将数据读出进行使用.例如将读出的图片数据显示出来,将读出的电影文件播放出来. 二进制数据直接保存到文件和从文件中读出非 ...

  2. 以二进制的形式保存在数据库中

    转眼间在博客园里待了快一年了,我还能记得去年的这个时候老师有个项目,在这个项目里需要把图片保存到数据库里,以前我做的就是把路径保存到数据库,后来为了实现这个功能我可是费了不少劲啊,问东问西的最后还是在 ...

  3. 图片保存到数据库以及从数据库中Load图片

    图片保存到数据库以及从数据库中Load图片 假设有一个数据库Test,下面创建一个表,它有一个字段是image类型,我们把图片转换成Byte数组存放在数据库中: CREATE TABLE Images ...

  4. python-scapy爬取mooc网保存在数据库中并下载图片

    爬取的步骤 - 确定url地址; - 获取页面信息;(urllib, requests); - 解析页面提取需要的数据: (正则表达式, bs4, xpath) - 保存到本地(csv, json, ...

  5. C# 文件保存到数据库中或者从数据库中读取文件

    首先,介绍一下保存文件到数据库中. 将文件保存到数据库中,实际上是将文件转换成二进制流后,将二进制流保存到数据库相应的字段中.在SQL Server中该字段的数据类型是Image,在Access中该字 ...

  6. php文件上传并保存路径到数据库,thinkphp表单上传文件并将文件路径保存到数据库中?...

    上传单个文件,此文以上传图片为例,上传效果如图所示 创建数据库upload_img,用于保存上传路径 CREATE TABLE `seminar_upload_img` (  `id` int(11) ...

  7. 图片保存到数据库和从数据库读取图片并显示(C#)

    图片保存到数据库的方法: public void imgToDB(string sql) {   //参数sql中要求保存的imge变量名称为@images //调用方法如:imgToDB(" ...

  8. ASP.NET将Session保存到数据库中

    因为ASP.NET中Session的存取机制与ASP相同,都是保存在进行中, 一旦进程崩溃,所有Session信息将会丢失,所以我采取了将Session信息保存到SQL Server中,尽管还有其它的 ...

  9. android 保存数据到setting中_文章如何保存在数据库中

    当我们打开央视新闻网站时,能看到很多丰富多彩的文章,那么这些文章是怎么保存在数据库中的呢?或者说要怎样能实现类似的效果? 如果你了解过网页的话,应该知道通过html的p.ul.img.div等元素的合 ...

最新文章

  1. 2018.08.27 lucky(模拟)
  2. 快点搜quickso.cn
  3. AD原理图编译ERROR:GND contains Output Pin and Power Pin objects
  4. Silverlight中 非UI线程更新UI 的几种方法
  5. 在线阅读各版本android系统源代码
  6. 用html5绘制星空,用HTML5绘制的一个星空特效图
  7. c语言来用按键控制风扇转速,基于单片机的能风扇调速设计.doc
  8. 路由器2.4G和5G有什么区别
  9. [转贴]杨式太极拳八十五式通释—2—王志远
  10. 期货业-期货市场的产生
  11. 手机上可以拍一寸证件照吗
  12. 用python调查应用程序结构
  13. 嵌入式linux与pc串口传输文件基于lrzsz
  14. MySQL 修改报错 You can't specify target table 'tb_trade' for update in FROM clause
  15. Dilworth定理是个啥东东
  16. 【EE308FZ Lab3-2-1】Sprint Plan: RISD-IoT-Group
  17. LeetCode 695.岛屿的最大面积
  18. 做网站用html好还是vue好,中大型项目用react还是vue?
  19. uniapp MySQL vue ES6 jQuery 个人整合
  20. python中“end=”

热门文章

  1. Drools学习笔记3—Conditions / LHS—字段约束连接字段约束操作符
  2. 内存和swap查看 内存是拿来用的 不是看的
  3. 举例说,在命令模式(Command Pattern)
  4. Windows Phone开发(25):启动器与选择器之WebBrowserTask
  5. java内存泄漏笔记
  6. 一个按钮触发两个事件可以吗?
  7. 数字化营销关键点:如何做好深度内容策略
  8. 初探 NS_STRING_ENUM
  9. 如何使用CloudStats监控Linux服务器
  10. LinkedList总结+数组栈Stack