# 上传原图却显示模糊图片

## 问题现象

上传图片选择原图上传，但是显示的却是模糊的图片。

## 背景知识

在图片上传处理流程中，通常会对图片进行一定的处理，如缩放、格式转换、编码等，以适应前端显示或存储需求，[scale](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-sendableimage#scale)属性会根据输入的宽高对图片进行缩放。

## 问题定位

1. 通过全局搜索关键词uploadimage，快速定位到图片上传相关的核心代码模块，进一步锁定图片处理的关键逻辑部分。
2. 在图片处理代码中，发现存在scaleImage的方法，用于对上传的图片进行缩放处理。该方法的逻辑为：当图片的宽度超过预设的阈值时，系统会对图片进行缩放处理，并调整其像素大小，以降低文件体积或适配前端展示需求。
3. 在scaleImage方法中，图片被强制转换为JPEG格式，并采用了较高的压缩质量参数（quality：98）。虽然高压缩质量理论上有助于保留画质，但在某些情况下，格式转换本身仍可能引入画质损失，尤其是对于非JPEG格式的图片（如PNG、WebP等），这种转换容易导致细节丢失或颜色失真。

## 分析结论

图片在上传过程中被错误地进行了缩放处理，导致图像尺寸缩小、分辨率降低，进而引发画面模糊的问题。此外，在缩放过程中对图片进行了强制格式转换（JPEG），进一步加剧了画质的下降。特别是当上传的是其他格式的图片时，这种格式转换行为会导致图片失真，严重影响视觉效果。

## 修改建议

如果原图上传，则应跳过所有缩放、格式转换及压缩操作，直接上传原始图片，确保画质与分辨率不变。在处理非原图上传的情况下，可对图片进行合理缩放与格式转换，但需确保支持多种图片格式（如PNG、JPEG、WebP等），并根据不同格式采取合适的处理策略，避免因格式转换导致的失真问题。

