sapui5在sapui5中上载文件,并在odata服务entityset中发送该文件

sapui5在sapui5中上载文件,并在odata服务entityset中发送该文件,sapui5,Sapui5,我的要求是 步骤1:选择用户并选择要上载到sapUI5的文件 第2步单击“保存”按钮,应上传文件, 步骤3:将上载的文件保存在odata entityset中,并将其发送到后端。此odata服务有两个实体集,两个实体集应在一次调用中返回后端。 台阶 我正在使用UploadCollection控件 <UploadCollection uploadComplete="onUploadComplete" typeMissmatch="onTypeMiss

我的要求是 步骤1:选择用户并选择要上载到sapUI5的文件 第2步单击“保存”按钮,应上传文件, 步骤3:将上载的文件保存在odata entityset中,并将其发送到后端。此odata服务有两个实体集,两个实体集应在一次调用中返回后端。 台阶

我正在使用UploadCollection控件

<UploadCollection      
uploadComplete="onUploadComplete"
typeMissmatch="onTypeMissmatch" 
fileSizeExceed="onFileSizeExceed" 
filenameLengthExceed="onFilenameLengthExceed" 
fileDeleted="onFileDeleted"
change="onChangeAttachments" 
noDataDescription="Drag & Drop files or use the "+" button for pending upload"                                                               
instantUpload="false"
sameFilenameAllowed="false"
multiple="true" 
maximumFileSize="10" 
maximumFilenameLength="55" 
id="UploadSet"/>
我的问题是关于方法onUploadComplete如何获取文件内容并将其保存在odata entityset中

谢谢
Sonal.

我找到了解决这个问题的办法

单击“保存”按钮,我使用文件读取器将所选文件作为二进制文件读取,然后将二进制文件保存在我的模型文件内容中,然后将其发送到后端

var base64_marker = "data:" + file.type + ";base64,";
                        var reader = new FileReader();

                        reader.onload = (function (thefile) {
                            return function (evt) {
                                var base64Index = evt.target.result.indexOf(base64_marker) + base64_marker.length; // locate base64 content
                                var base64 = evt.target.result.substring(base64Index); // get base64 content
                                var oAttData = that.getModel("newInitiative").getData().rawAttachment[0];
                                var oFileData = {};
                                oFileData.ClaimType = "OFFICE";
                                oFileData.FileContent = base64;
                                oFileData.Filename = oAttData.name;
                                oFileData.Filesize = oAttData.size;
                                oFileData.Mimetype = oAttData.type;
                                that.getModel("SupplierModel").getProperty("/VendorFileSet").push(oFileData);
                            };
                        }.bind(that))(file);
谢谢

var base64_marker = "data:" + file.type + ";base64,";
                        var reader = new FileReader();

                        reader.onload = (function (thefile) {
                            return function (evt) {
                                var base64Index = evt.target.result.indexOf(base64_marker) + base64_marker.length; // locate base64 content
                                var base64 = evt.target.result.substring(base64Index); // get base64 content
                                var oAttData = that.getModel("newInitiative").getData().rawAttachment[0];
                                var oFileData = {};
                                oFileData.ClaimType = "OFFICE";
                                oFileData.FileContent = base64;
                                oFileData.Filename = oAttData.name;
                                oFileData.Filesize = oAttData.size;
                                oFileData.Mimetype = oAttData.type;
                                that.getModel("SupplierModel").getProperty("/VendorFileSet").push(oFileData);
                            };
                        }.bind(that))(file);