小编Kys*_*van的帖子

在Javascript中将Uint8Array转换为Array

我有Uint8Array实例包含某些文件的二进制数据.
我想将数据发送到服务器,在那里它将被反序列化为byte [].
但是,如果我发送Uint8Array,我有反序列化错误.

所以,我想将它转换为Array,因为Array很好地反序列化了.
我按如下方式做到:

    function uint8ArrayToArray(uint8Array) {
        var array = [];

        for (var i = 0; i < uint8Array.byteLength; i++) {
            array[i] = uint8Array[i];
        }

        return array;
    }
Run Code Online (Sandbox Code Playgroud)

此功能工作正常,但对大文件效率不高.

问题:是否有更有效的方法来转换Uint8Array - > Array?

javascript arrays

30
推荐指数
1
解决办法
2万
查看次数

Jackson JsonParseExceptionMapper 和 JsonMappingExceptionMapper 阴影自定义映射器

我的项目使用 Spring Boot + Jersey 2。

我为 JsonParseException 创建了自定义 Jackson 映射器,但它没有被调用,而是使用了标准的 Jackson JsonParseExceptionMapper。

我的自定义映射器:

 package com.rmn.gfc.common.providers;
 import ...

 @Provider
 public class JsonParseExceptionHandler implements ExceptionMapper<JsonParseException> { 
    @Override
    public Response toResponse(JsonParseException exception) {
        return Response
                .status(Response.Status.BAD_REQUEST)
                //  entity ...
                .build();
    }
}
Run Code Online (Sandbox Code Playgroud)

我像这样注册我的映射器:

@Component
public class OrderServiceResourceConfig extends ResourceConfig {
    public OrderServiceResourceConfig() {
        packages("com.rmn.gfc.common.providers");
    }
}
Run Code Online (Sandbox Code Playgroud)

我确信映射器注册很好,因为这个包中的其他自定义映射器正在工作,但 JsonParseException 的一个映射器被 Jersey 标准 JsonParseExceptionMapper 遮住了。

我如何用我的实现覆盖标准的 Jackson JsonParseExceptionMapper?

java jersey spring-boot

7
推荐指数
2
解决办法
2835
查看次数

标签 统计

arrays ×1

java ×1

javascript ×1

jersey ×1

spring-boot ×1