From 35dcfea3efe259e0d5e000ee505783ecd5c2c5d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Tue, 8 Sep 2026 19:56:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20Raw=20=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E8=BE=93=E5=87=BA=E6=A0=BC=E5=BC=8F=E5=9B=9E=E9=80=80=20?= =?UTF-8?q?=E5=BF=BD=E7=95=A5=E7=A9=BA=E5=80=BC=E5=90=8E=E5=86=8D=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E8=BD=BD=E8=8D=B7=E7=BA=A7=E6=A0=BC=E5=BC=8F=20?= =?UTF-8?q?=E8=A1=A5=E5=85=85=E7=A9=BA=E5=AD=97=E7=AC=A6=E4=B8=B2=E5=92=8C?= =?UTF-8?q?=20null=20=E5=9B=9E=E5=BD=92=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/vector_engine/raw_edit.rs | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/server-rs/crates/platform-image/src/vector_engine/raw_edit.rs b/server-rs/crates/platform-image/src/vector_engine/raw_edit.rs index 64ae2887c..9c1205fb2 100644 --- a/server-rs/crates/platform-image/src/vector_engine/raw_edit.rs +++ b/server-rs/crates/platform-image/src/vector_engine/raw_edit.rs @@ -366,10 +366,16 @@ fn response_image_format( ) -> Result<(&'static str, &'static str), &'static str> { let Some(value) = entry .get("output_format") - .or_else(|| payload.get("output_format")) .and_then(Value::as_str) .map(str::trim) .filter(|value| !value.is_empty()) + .or_else(|| { + payload + .get("output_format") + .and_then(Value::as_str) + .map(str::trim) + .filter(|value| !value.is_empty()) + }) else { return Err("上游响应缺少 output_format"); }; @@ -455,6 +461,20 @@ mod tests { response_image_format(&json!({}), &json!({"output_format": "jpeg"})), Ok(("image/jpeg", "jpg")) ); + assert_eq!( + response_image_format( + &json!({"output_format": "png"}), + &json!({"output_format": ""}) + ), + Ok(("image/png", "png")) + ); + assert_eq!( + response_image_format( + &json!({"output_format": "webp"}), + &json!({"output_format": null}) + ), + Ok(("image/webp", "webp")) + ); assert!(response_image_format(&json!({}), &json!({})).is_err()); assert!(response_image_format(&json!({}), &json!({"output_format": "bmp"})).is_err()); }