sap 服务器文件 暴露pdf地址,访问地址预览
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地址,访问地址预览相关推荐
- SAP SmartForms PDF Preview Test 打印预览生成PDF文件
SAP SmartForms PDF Preview Test 打印预览生成PDF文件 *&-------------------------------------------------- ...
- Springboot + layui + FTP文件上传删除 + HTTP文件下载预览 + pdf.js文件预览(项目实战总结)
文件管理 0.需求及前言 1.前端,上传按钮嵌入数据表格中 2.利用IIS部署FTP文件服务器 3.后台FTP连接和文件操作 4.FTP遇到的问题和解决方案 5.预览PDF文件V1.0:FTP+临时文 ...
- 【aspose】 word/excel转pdf,实现在线预览文件功能
项目场景: 需求描述:上传附件后,可实现在线预览,这里就会存在一个问题,很多附件的类型是没法在线预览的,点击就会下载.除pdf/jpg/jpeg等,于是技术方案定,将word/excel等类型的文件转 ...
- 文件上传,下载,预览,删除(File),分页接口
文件上传,下载,预览,删除(File) 1.公共参数方法 1.1公共返回类型定义 1.2 分页接口 1.3公共实体类 1.4 公共的 mapper.java/xml(都放在一起) 1.4.1 File ...
- SpringBoot+MongoDB GridFS文件上传、下载、预览实战
SpringBoot + MongoDB GridFS 随着web 3.0的兴起,数据的形式不局限于文字,还有语音.视频.图片等.高效存储与检索二进制数据也成为web 3.0必须要考虑的问题.然而这种 ...
- Android pdf填充表单,预览,图片填充,水印添加
前言 需求是这样的,客户需要用户登录app后录入个人信息,然后由手机端帮助将录入的信息填充到pdf, 用户录入的部分图片需要填充到pdf模板的最后面,还需要给每一页pdf都加上水印,生成后给用户预览 ...
- java对office、pdf文档在线预览解析(融合进项目中)
最近在项目中要做一个文档的预览,在网上搜了好多demo,都可以实现其功能,但是放在自己的项目中有点复杂. 先说明本人的开发环境(win7+tomcat7+maven+svn+myeclipse),接下 ...
- 文档在线预览(四)使用js前端实现word、excel、pdf、ppt 在线预览
文章目录 实现方案 一.docx文件实现前端预览 1.docx-preview 2.Mammoth 二.PDF文件实现前端预览 1.pdf.js 2.pdfobject.js 3.vue-pdf 4. ...
- office转pdf实现office在线预览(aspose)
office转pdf实现office在线预览(aspose) 1. jar包地址 2. 将jar包安装到本地 3. pom文件添加依赖 4. license.xml ① license.xml存放路径 ...
- 使用libreoffice将office文档(word、ppt、excel)转pdf,实现在线预览
项目需要实现局域网预览office文档的功能,之前做的在线项目,都是将文档上传到cdn,利用cdn自带的转码功能,把文档转换为pdf,然后再用pdf.js实现在线预览. 因为是局域网,没有办法上传到c ...
最新文章
- iOS 支付 [支付宝、银联、微信]
- Ubuntu 18.04安装CUDA(版本10.2)和cuDNN
- 快速开发一个自定义 Spring Boot Starter ,希望你也会
- html怎么让表格竖排,表格里的文字怎么竖排
- 抽屉远离在计算机的应用,抽屉原理的应用及其推广优秀毕业论文
- python--类与GUI编程框架
- HackRF 无线门铃信号录制与重放
- 制作 macOS High Sierra U盘USB启动安装盘方法教程 (全新安装 Mac 系统)
- python画好看的图-Python竟能画这么漂亮的花,帅呆了(代码分享)
- 工程实践:如何规范地打印程序日志?
- sort colors 三色排序
- 文件对应的Content-Type类型
- 口袋电子秤方案芯片CSU18P88
- 计算机基础知识初中生学习,初中生具备了学习电脑的能力吗?
- 如何用ABBYY FineReader提取图片中的文字
- 怎么批量修改照片的分辨率?照片dpi怎么调?
- 铸博皇御:白银多少钱,白银交易有哪些优势
- 大数据分析师的沟通技巧
- 购物表单mysql还是mongodb_日志数据是选择mysql 还是 mongodb 还是 postgredb
- 矿宝无盘服务器,矿宝首发“精简版无盘镜像”,带机数提升10倍!
热门文章
- 没有测量就没有管理,怀念DNW和复习盖洛普Q12
- 【汇总】全球最吸金的30大连接器厂商
- 分享一份软件测试面试指南
- 计算机软件质测试标准,软件产品质量要求和测试细则 ——GB/T 25000.51—2016标准实施指南...
- blink usb无线网卡驱动 linux,lblink无线网卡驱动下载官方版_blink无线网卡驱动_blink无线网卡驱动_东坡下载...
- matlab 傅里叶变换时间窗 频率窗,短时傅里叶变换窗函数窗口宽度的选择
- 查询跟电脑直连设备的ip
- php mysql 连接池_php 如何实现 数据库 连接池
- Windows XP修改CHM字体大小
- 微信开发工具小程序获取手机号失败