You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rocket 0.4迁移至0.5-rc.2:如何构建HTTP Content-Disposition Header

Rocket 0.5-rc.2中构建ContentDisposition Header的正确方式

在Rocket 0.5-rc.2中,你依然可以通过结构体方式构建ContentDisposition Header,无需手动格式化字符串,但需要调整导入路径和部分用法细节:

1. 调整导入路径

Rocket 0.5不再通过rocket::http::hyper暴露hyper的模块,需要直接从hyper crate导入相关类型:

use hyper::header::{ContentDisposition, DispositionType, DispositionParam, Charset};

(Rocket 0.5默认依赖hyper,通常无需在Cargo.toml中额外添加)

2. 结构体构建方式的适配

构建逻辑和Rocket 0.4时期基本一致,仅需保证类型导入正确即可。示例代码如下:

.header(ContentDisposition {
    disposition: DispositionType::Attachment,
    parameters: vec![
        DispositionParam::Filename(
            Charset::Iso_8859_1,
            None,
            format!("reviews_{}.csv", unix_time).into_bytes(),
        )
    ],
})

关于header::CONTENT_DISPOSITION的说明

你提到的header::CONTENT_DISPOSITION是HeaderName类型的常量,仅用于标识Header的名称,不能直接通过结构体字面量赋值。正确用法仍是将ContentDisposition实例作为值传入.header()方法,如上述示例所示。

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 04:25:41