Отладка привязок выражений UI5

Добавляем еще несколько вещей для ответа на этот вопрос для загрузки файла

Ниже приведен код java spring, который генерирует байт Array

@RequestMapping(value = "/downloadReport", method = { RequestMethod.POST })
    public ResponseEntity<byte[]> downloadReport(
            @RequestBody final SomeObejct obj, HttpServletResponse response) throws Exception {

        OutputStream out = new ByteArrayOutputStream();
        // write something to output stream
        HttpHeaders respHeaders = new HttpHeaders();
        respHeaders.setContentType(MediaType.APPLICATION_OCTET_STREAM);
        respHeaders.add("X-File-Name", name);
        ByteArrayOutputStream bos = (ByteArrayOutputStream) out;
        return new ResponseEntity<byte[]>(bos.toByteArray(), respHeaders, HttpStatus.CREATED);
    }

Теперь в javascript-коде с использованием FileSaver.js, можно загрузить файл с кодом ниже

var json=angular.toJson("somejsobject");
var url=apiEndPoint+'some url';
var xhr = new XMLHttpRequest();
//headers('X-File-Name')
xhr.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 201) {
        var res = this.response;
        var fileName=this.getResponseHeader('X-File-Name');
        var data = new Blob([res]);
        saveAs(data, fileName); //this from FileSaver.js
    }
}    
xhr.open('POST', url);
xhr.setRequestHeader('Authorization','Bearer ' + token);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.responseType = 'arraybuffer';
xhr.send(json);

Вышеупомянутый файл будет загружен

1
задан Mike B. 27 March 2019 в 07:55
поделиться

1 ответ

Отладка метода «разбора» класса ExpressionParser . Вы можете проверить это, создав очень простое приложение, используя следующий код.

Просмотр

<App id="app">
    <pages>
        <Page id="page" title="{i18n>title}">
            <content>
                <Text text="{= ${/a} + ${/b} }" />
            </content>
        </Page>
    </pages>
</App>

Контроллер

onInit: function () {
    var oModel = new JSONModel({
        a: 2,
        b: 3
    });

    this.getView().setModel(oModel);
}

В DevTools вы можете использовать Ctrl + P , чтобы открыть файл, выполнив поиск по его имени - ExpressionParser. Если нет, вы можете найти этот файл по следующему пути (см. Изображение ниже): /resources/sap/ui/base/ExpressionParser-dbg.js

DevTools

0
ответ дан Mike B. 27 March 2019 в 07:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: