使用Tink Web上传二进制内容

时间:2019-05-29 09:54:53

标签: haxe

我想从我的JavaScript客户端上载一个arrayBuffer,但是我不知道如何定义我的Route

我使用 application / octet-stream MimeType尝试了 @:consumes 元数据,但是编译器不喜欢它。

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 个答案:

答案 0 :(得分:0)

我怀疑无法从主体流创建ArrayBuffer吗?如果您将其更改为https://api.haxe.org/haxe/io/Bytes.html怎么办?

编辑: docs(https://haxetink.github.io/tink_web/#/basics/parameters?id=advanced-data-types)提到解析器仅适用于application / json和采用表单编码的mime类型。八位字节流解析器不存在(https://github.com/haxetink/tink_web/blob/master/src/tink/web/macros/MimeType.hx)。您可能可以编写一个,然后很容易地将字节解析为Bytes对象。