小编Guo*_*ang的帖子

使用 multipart/form-data 进行 Gzip 内容编码

如果帖子使用“multipart/form-data”内容类型,并且每个部分可以是文件或其他内容类型。

如果我想使用 GZIP,GZIP 是否应该应用于所有部分的整个帖子正文,或者是否可以选择某些文件使用 gzip 内容编码,而某些文件则不使用。

有没有标准或者只是惯例?

谢谢

例如,我可以在“file1”部分下面添加 Content-Encoding:gzip

Host: localhost:8081
Connection: keep-alive
Content-Length: 317
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36
Cache-Control: no-cache
Origin: chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop
Postman-Token: 7143164d-0da5-0e1d-112e-91f2a21c22c2
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryPZAv0gGlJrA4ABu2
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7

------WebKitFormBoundaryPZAv0gGlJrA4ABu2
Content-Disposition: form-data; name="key1"

value1
------WebKitFormBoundaryPZAv0gGlJrA4ABu2
Content-Disposition: form-data; name="file1"; filename="sample_file.txt"
Content-Type: text/plain
Content-Encoding: gzip ---------------------------IS IT OK TO ADD GZIP HERE?

This is a sample file content!
------WebKitFormBoundaryPZAv0gGlJrA4ABu2--
Run Code Online (Sandbox Code Playgroud)

http

7
推荐指数
1
解决办法
6736
查看次数

Jackson2JsonMessageConverter 不适用于rabbitmq

我使用以下代码进行消息转换器:

SimpleMessageListenerContainer container(ConnectionFactory  connectionFactory, Queue queue,
        MessageListenerAdapter listenerAdapter) {

    SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
    container.setConnectionFactory(connectionFactory);
    container.setQueueNames(queue.getName());
    container.setMessageListener(listenerAdapter);
    container.setMessageConverter(new Jackson2JsonMessageConverter());
    return container;
}
Run Code Online (Sandbox Code Playgroud)

我的听众被宣布:

public void receiveMessage(List<Map<String, Object>> message) {
    try {
        System.out.println("Received <" + new String(message, "UTF-8") +     ">");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

但它总是尝试给出以下错误:

Failed to invoke target method 'receiveMessage' with argument type = [class [B], value = [{[B@40c2d9c5}]","at org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter.invokeListenerMethod(MessageListenerAdapter.java:408)
Run Code Online (Sandbox Code Playgroud)

它似乎尝试调用 byte[] 作为参数,而不是将 json 字符串转换为 List>。

spring rabbitmq spring-amqp

1
推荐指数
1
解决办法
7001
查看次数

标签 统计

http ×1

rabbitmq ×1

spring ×1

spring-amqp ×1