Загружайте бинарный контент с Tink Web - PullRequest
2 голосов
/ 29 мая 2019

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

Я пробовал @: использует метаданные с 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: Предупреждение: маршрут не захватывает аргумент data

1 Ответ

1 голос
/ 30 мая 2019

Я подозреваю, что 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.

...