Загрузить бинарный контент с помощью Tink Web

Я хочу загрузить arrayBuffer из моего javascript-клиента, но не могу понять, как определить свой маршрут

Я попробовал метаданные @:consumes с application/octet-stream MimeType, но компилятору это не понравилось.

class Api {

    public function new() { }

    @:post('/upload')
    @:consumes("application/octet-stream")
    public function upload(data:ArrayBuffer){
        trace(data);
    }

}

src/server/Api.hx:17: строки 17–19: Предупреждение: все определенные маршруты неполные src/server/Api.hx:15: символы 9–18: Предупреждение: Маршрут не захватывает argumentsdata


person damoebius    schedule 29.05.2019    source источник


Ответы (1)


Я подозреваю, что ArrayBuffer нельзя создать из потока тела? Что если вы измените его на просто https://api.haxe.org/haxe/io/Bytes.html?

Изменить: документы (https://haxetink.github.io/tink_web/#/basics/parameters?id=advanced-data-types) упоминает, что синтаксические анализаторы существуют только для MIME-типов application/json и form-urlencoded. парсер потока октетов не существует (https://github.com/haxetink/tink_web/blob/master/src/tink/web/macros/MimeType.hx). вы, вероятно, можете написать его и довольно легко разобрать байты в объект Bytes.

person Chii    schedule 30.05.2019