File upload SAPUI5-具有未定义参数的文件上载程序
我试图实现一个sap.ui.unified.FileUploader,但在使用change函数时,事件(e)中的参数未定义。最奇怪的是,我在JS fidler上有一个例子,它在那里工作,但在我的页面上没有。 代码如下:File upload SAPUI5-具有未定义参数的文件上载程序,file-upload,sapui5,File Upload,Sapui5,我试图实现一个sap.ui.unified.FileUploader,但在使用change函数时,事件(e)中的参数未定义。最奇怪的是,我在JS fidler上有一个例子,它在那里工作,但在我的页面上没有。 代码如下: var f = new sap.ui.unified.FileUploader({ uploadUrl : "", buttonText : "Upload", fileType : "csv", maximumFileSize
var f = new sap.ui.unified.FileUploader({
uploadUrl : "",
buttonText : "Upload",
fileType : "csv",
maximumFileSize : 1,
icon : "sap-icon://upload",
change : function(e){
console.log("aqui");
var file = e.getParameter("files") && e.getParameter("files")[0];
console.log(file);
if (file && window.FileReader){
var reader = new FileReader();
var that = this;
reader.onload = function(evn) {
var strCSV= evn.target.result; //string in CSV
alert(strCSV);
};
reader.readAsText(file);
}
}
});
文件var在我的页面上变为未定义。
有什么想法吗?
谢谢
更新:当我试图从事件e获取getParameters方法时,我只获取id和名称,而在fidler中,我获取id、名称和文件。。。这是fidler链接您可以这样做: 在视图文件中:
new sap.ui.unified.FileUploader({
uploadUrl : "serviceURL",
name: "simpleUploader",
uploadOnChange: false,
sendXHR: true,
useMultipart: false,
})
与以下按钮组合使用:
new sap.m.Button({
text : "{i18n>UPLOAD}",
icon : "sap-icon://upload",
type : sap.m.ButtonType.Accept,
press : [ oController.onStartUpload, oController ]
})
在相应的控制器文件中:
onStartUpload : function(oEvent) {
var oFileUploader = // TODO get the file uploader
var sFile = oFileUploader.getValue();
if (sFile==="") {
// TODO no file selected
return;
}
oFileUploader.destroyHeaderParameters();
that.getModel("modelName").refreshSecurityToken();
oFileUploader.insertHeaderParameter(new sap.ui.unified.FileUploaderParameter({name: "x-csrf-token", value: that.getModel("modelName").getHeaders()['x-csrf-token'] }));
oFileUploader.insertHeaderParameter(new sap.ui.unified.FileUploaderParameter({name: "slug", value: oFileUploader.getValue() }));
oFileUploader.upload();
},