从SAP UI5应用程序保存时文件已损坏

2020-09-12 12:50发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在尝试将文件保...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在尝试将文件保存在UI5应用程序中,但是文件损坏。以下是代码

从SAP读取文件

 oModelFile.read(itemString,{
 成功:功能(数据,响应){
 var fName = odata.ImFilename;
 var fType = odata.ImMimeType;
 var fMres = atob(odata.ImMediaResource);
 if(fType ==="文本/纯文本")
 {
 sap.ui.core.util.File.save(fMres,fName," txt",fType);
 }
 if(fType ===" image/png")
 {
 sap.ui.core.util.File.save(fMres,fName," png",fType);
 }
 if(fType ===" image/jpg")
 {
 sap.ui.core.util.File.save(fMres,fName," jpg",fType);
 }
 if(fType ===" application/pdf")
 {
 sap.ui.core.util.File.save(fMres,fName," pdf",fType);
 }
 if(fType ===" application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
 {
 sap.ui.core.util.File.save(fMres,fName," xlsx",fType);
 } 

正在读取文件

 var reader = new FileReader();
 reader.onload =函数(e){
 var vContent = e.currentTarget.result.replace(" data:" + file.type +"; base64,","");
 that.postImageToBackend(workorderId,that.fileName,that.fileType,vContent);
 };
 reader.readAsDataURL(file); 

在SAP中创建文件

 postImageToBackend:函数(workorderId,fileName,fileType,Content){
 var itemString ="/img/ZWOFileSet/";
 var serviceURI ="/img/sap/opu/odata/sap/ZBM_MRKWO_FILE_SRV/";
 var oDataModel = new sap.ui.model.odata.v2.ODataModel(serviceURI);
 var有效负载= {
 " ImWorkorder":workorderId,
 " ImFilename":fileName,
 " ImMediaResource":btoa(encodeURI(Content)),
 " ImMimeType":fileType
 };
 oDataModel.create(itemString,有效负载,{
 成功:功能(){
 sap.m.MessageBox.success("成功!;已创建文件上传");
 }
 },

致谢

Bilal