sap 服务器文件外部系统不可直接访问,通常通过数据流传输,受 sap 外部服务 pingpong 游戏启发,文件应该也可直接在html 格式拼写处理,从而实现直接预览,以下为实现代码:

1.sicf 创建服务服务

2.服务创建处理类

3.类代码编写

其中访问地址可拼接单号参数,通过参数获取对应单号文件上传附件路径,读取服务器文件,将文件转为64位数据流(正常接口传输pdf可转64位后直接传输,传输到其他系统java或其他可处理),然后在数据前后拼接html 处理代码格式,包括长宽调整,其中pdf处理 需 embed 处理或 iframe 处理也可 ,若是处理图片 img 即可 ,ps:img 处理不了 pdf,且测试代码 只适用谷歌, ie不行。

编写完成,即可访问测试服务

 DATA: lt_fields TYPE tihttpnvp,ls_fields LIKE LINE OF  lt_fields,str1      TYPE string,lv_vbeln  TYPE numc10.DATA: lv_file   TYPE string.DATA: lv_msg    TYPE string.DATA: lv_xstr   TYPE xstring.DATA: lt_xtab   TYPE STANDARD TABLE OF sdokcntbin." get HEADER fieldsserver->request->get_header_fields( CHANGING fields = lt_fields   ).READ TABLE lt_fields INTO ls_fields WITH KEY name = '~query_string'.IF sy-subrc = 0.SPLIT ls_fields-value AT '&' INTO str1 lv_vbeln .IF lv_vbeln IS INITIAL.RETURN.ENDIF.ELSE.RETURN.ENDIF.SELECT SINGLE sfile INTO lv_fileFROM zsd1000t001WHERE potyp = '2'AND vbeln = lv_vbeln.IF sy-subrc <> 0.RETURN.ENDIF.lv_file = '/usr/sap/tmp/13.PDF'.
*  lv_file = '/usr/sap/tmp/12.PFCG'.OPEN DATASET lv_file FOR INPUT IN BINARY MODE MESSAGE lv_msg.IF sy-subrc <> 0.RETURN.ENDIF.FREE lt_xtab.WHILE sy-subrc = 0.READ DATASET lv_file INTO lv_xstr.IF sy-subrc = 0.cl_bcs_convert=>xstring_to_xtab(EXPORTINGiv_xstring   = lv_xstrIMPORTINGet_xtab      = lt_xtab ).ENDIF.ENDWHILE.CLOSE DATASET lv_file.CLEAR lv_xstr.lv_xstr = cl_bcs_convert=>xtab_to_xstring( lt_xtab ).DATA(lv_str) = cl_do_cr_cast=>xstring2base64( iv_xstring = lv_xstr ).
*pdflv_str = |<!DOCTYPE html><html><body><embed src="data:application/pdf;base64,{ lv_str }" width="100%" height="1000" ></body></html>|.
*jpg
*  lv_str = |<!DOCTYPE html><html><body><img src="data:application/pdf;base64,{ lv_str }" ></body></html>|.IF lv_str IS NOT INITIAL.server->response->set_cdata( data = lv_str ).ENDIF.

sap 服务器文件 暴露pdf地址,访问地址预览相关推荐

  1. SAP SmartForms PDF Preview Test 打印预览生成PDF文件

    SAP SmartForms PDF Preview Test 打印预览生成PDF文件 *&-------------------------------------------------- ...

  2. Springboot + layui + FTP文件上传删除 + HTTP文件下载预览 + pdf.js文件预览(项目实战总结)

    文件管理 0.需求及前言 1.前端,上传按钮嵌入数据表格中 2.利用IIS部署FTP文件服务器 3.后台FTP连接和文件操作 4.FTP遇到的问题和解决方案 5.预览PDF文件V1.0:FTP+临时文 ...

  3. 【aspose】 word/excel转pdf,实现在线预览文件功能

    项目场景: 需求描述:上传附件后,可实现在线预览,这里就会存在一个问题,很多附件的类型是没法在线预览的,点击就会下载.除pdf/jpg/jpeg等,于是技术方案定,将word/excel等类型的文件转 ...

  4. 文件上传,下载,预览,删除(File),分页接口

    文件上传,下载,预览,删除(File) 1.公共参数方法 1.1公共返回类型定义 1.2 分页接口 1.3公共实体类 1.4 公共的 mapper.java/xml(都放在一起) 1.4.1 File ...

  5. SpringBoot+MongoDB GridFS文件上传、下载、预览实战

    SpringBoot + MongoDB GridFS 随着web 3.0的兴起,数据的形式不局限于文字,还有语音.视频.图片等.高效存储与检索二进制数据也成为web 3.0必须要考虑的问题.然而这种 ...

  6. Android pdf填充表单,预览,图片填充,水印添加

    前言 需求是这样的,客户需要用户登录app后录入个人信息,然后由手机端帮助将录入的信息填充到pdf, 用户录入的部分图片需要填充到pdf模板的最后面,还需要给每一页pdf都加上水印,生成后给用户预览 ...

  7. java对office、pdf文档在线预览解析(融合进项目中)

    最近在项目中要做一个文档的预览,在网上搜了好多demo,都可以实现其功能,但是放在自己的项目中有点复杂. 先说明本人的开发环境(win7+tomcat7+maven+svn+myeclipse),接下 ...

  8. 文档在线预览(四)使用js前端实现word、excel、pdf、ppt 在线预览

    文章目录 实现方案 一.docx文件实现前端预览 1.docx-preview 2.Mammoth 二.PDF文件实现前端预览 1.pdf.js 2.pdfobject.js 3.vue-pdf 4. ...

  9. office转pdf实现office在线预览(aspose)

    office转pdf实现office在线预览(aspose) 1. jar包地址 2. 将jar包安装到本地 3. pom文件添加依赖 4. license.xml ① license.xml存放路径 ...

  10. 使用libreoffice将office文档(word、ppt、excel)转pdf,实现在线预览

    项目需要实现局域网预览office文档的功能,之前做的在线项目,都是将文档上传到cdn,利用cdn自带的转码功能,把文档转换为pdf,然后再用pdf.js实现在线预览. 因为是局域网,没有办法上传到c ...

最新文章

  1. iOS 支付 [支付宝、银联、微信]
  2. Ubuntu 18.04安装CUDA(版本10.2)和cuDNN
  3. 快速开发一个自定义 Spring Boot Starter ,希望你也会
  4. html怎么让表格竖排,表格里的文字怎么竖排
  5. 抽屉远离在计算机的应用,抽屉原理的应用及其推广优秀毕业论文
  6. python--类与GUI编程框架
  7. HackRF 无线门铃信号录制与重放
  8. 制作 macOS High Sierra U盘USB启动安装盘方法教程 (全新安装 Mac 系统)
  9. python画好看的图-Python竟能画这么漂亮的花,帅呆了(代码分享)
  10. 工程实践:如何规范地打印程序日志?
  11. sort colors 三色排序
  12. 文件对应的Content-Type类型
  13. 口袋电子秤方案芯片CSU18P88
  14. 计算机基础知识初中生学习,初中生具备了学习电脑的能力吗?
  15. 如何用ABBYY FineReader提取图片中的文字
  16. 怎么批量修改照片的分辨率?照片dpi怎么调?
  17. 铸博皇御:白银多少钱,白银交易有哪些优势
  18. 大数据分析师的沟通技巧
  19. 购物表单mysql还是mongodb_日志数据是选择mysql 还是 mongodb 还是 postgredb
  20. 矿宝无盘服务器,矿宝首发“精简版无盘镜像”,带机数提升10倍!

热门文章

  1. 没有测量就没有管理,怀念DNW和复习盖洛普Q12
  2. 【汇总】全球最吸金的30大连接器厂商
  3. 分享一份软件测试面试指南
  4. 计算机软件质测试标准,软件产品质量要求和测试细则 ——GB/T 25000.51—2016标准实施指南...
  5. blink usb无线网卡驱动 linux,lblink无线网卡驱动下载官方版_blink无线网卡驱动_blink无线网卡驱动_东坡下载...
  6. matlab 傅里叶变换时间窗 频率窗,短时傅里叶变换窗函数窗口宽度的选择
  7. 查询跟电脑直连设备的ip
  8. php mysql 连接池_php 如何实现 数据库 连接池
  9. Windows XP修改CHM字体大小
  10. 微信开发工具小程序获取手机号失败