2016-03-03 4 views
0

Я использую sap.ui.unified.FileUploader для загрузки файла. Я также добавление slug и X-CSRF-Token с в header .Но я не смог послать значение заголовка к шлюзу, значит в стороне шлюза csrf token значения blank.I протестирована с Rest Client оборотным штрафомSAPUI5: FileUploader не работает

код:

View

<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'. Может быть, переменная 'токен' не определена? (Вы должны использовать '' use strict ''команду, чтобы избежать использования необъявленных переменных.) – bgerth

ответ

3

Атрибут «sendXHR» должен быть установлен в экземпляре FileUploader, а не как параметр заголовка. Тогда это должно сработать.

oFileUploader.setSendXHR(true); 
Смежные вопросы