2016-03-03 65 views
0

我正在使用sap.ui.unified.FileUploader上传文件。我也加入slugX-CSRF-Tokenheader。但我不能发送头值到网关,意味着网关侧csrf token值blank.I与Rest Client测试了它的做工精细SAPUI5:文件上传器不工作

代码:

查看

<u:FileUploader 
    id="fileUploader1" 
    name="myFileUpload" 
    mimeType ="image,text" 
    uploadUrl="" 
    uploadOnChange="false" 
    width="400px" 
    tooltip="Upload your file to the local server" 
    uploadComplete="handleUploadComplete" /> 
<Button 
    text="Upload File" 
    press="handleUploadPress" /> 

控制器

handleUploadPress: function (oEvent) { 
    var url = "http://xxxxx.xxxx.xxxx:1234/sap/opu/odata/sap/ZGW_GC1_SRV/GCUpload1Set"; 
    var oFileUploader = this.getView().byId("fileUploader1"); 
    oFileUploader.addHeaderParameter(new sap.ui.unified.FileUploaderParameter({ 
     name: "slug", 
     value: oFileUploader.getValue() 
    })); 

    oFileUploader.addHeaderParameter(new sap.ui.unified.FileUploaderParameter({ 
     name: "x-csrf-token", 
     value: oController.oModel.getSecurityToken() 
    })); 

    oFileUploader.addHeaderParameter(new sap.ui.unified.FileUploaderParameter({ 
     name: "sendXHR", 
     value: true 
    })); 
    oFileUploader.setUploadUrl(url); 
+0

你正在设置头部参数'x-csrf-token'两次。难道变量'token'是未定义的吗? (你应该使用''use strict''命令来避免使用未声明的变量。) – bgerth

回答

3

属性“sendXHR”必须在FileUploader实例上设置,而不是作为头部参数。那么它应该工作。

oFileUploader.setSendXHR(true);