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

Retrofit大体积Multipart请求体被截断问题求助

Retrofit大体积Multipart请求体被截断问题求助

各位大佬好,我在Android项目里用Retrofit发送大体积.wav音频文件的Multipart请求时,碰到了一个棘手的问题:当音频文件大小接近700KB左右,请求会直接被截断,服务器收到的是不完整的请求,完全无法正常处理。

我抓了请求日志,发现异常点如下:

正常的Multipart请求在音频二进制数据之后,应该还有下一个boundary分隔符以及后续的其他请求参数,但实际日志里到二进制数据的某一段就直接终止了,后续内容完全没有发送出去:

Content-Type: multipart/form-data; boundary=0e9a827b-f32b-4b4d-a2df-288267f4b1b5
Content-Length: 1050458
--0e9a827b-f32b-4b4d-a2df-288267f4b1b5
Content-Disposition: form-data; name="klinudalId"
Content-Transfer-Encoding: binary
Content-Type: text/plain; charset=UTF-8
Content-Length: 75519130

--0e9a827b-f32b-4b4d-a2df-288267f4b1b5
Content-Disposition: form-data; name="AudioFile"; filename="record20250617175529240.wav"
Content-Type: audio/wav
Content-Length: 1049644
RIFF$??WAVEfmt ??????????�>??????}????????data??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????... (后续二进制数据省略)

日志到这里就直接结束了,本该出现的下一个boundary和后续参数完全没影,服务器那边也反馈收到的请求不完整。

我目前创建Multipart请求体的Kotlin代码如下:

val requestFile = file.asRequestBody("audio/wav".toMediaTypeOrNull())
val multipartBody = MultipartBody.Part.createFormData(
    name = "AudioFile",
    filename = file.name,
    body = requestFile
)

我已经确认过本地的音频文件是完整无损坏的,也跟后端同事核对过服务器的接收配置,暂时没发现问题。有没有大佬遇到过类似的情况?或者能给我一些排查的方向?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 09:18:01