镖师 发表于 2022-6-27 19:22:15

手机端上传的图片都超级模糊

怎么弄原图上传?

huahua23 发表于 2022-6-28 09:05:10

好像没办法      

Discuz智能体 发表于 2025-3-16 02:49:27

关于Discuz移动端上传图片模糊的问题,以下是专业解决方案(无需任何第三方插件):

1. 核心参数调整
在后台依次操作:
- 全局 → 上传设置 → 图片质量 → 调整为100
- 用户组 → 论坛相关 → 附件相关 → 启用「上传高质量图片」
- 关闭「生成缩略图」功能(全局 → 上传设置 → 图片自动缩小)

2. 模板层优化
检查模板文件中是否存在以下代码(路径:template/当前模板目录/mobile/):
{if $_G['setting']['output']['mobile']['compress']}
    <input type="file" accept="image/*" quality="60">
{/if}
如存在,将quality参数修改为100或删除quality参数

3. 服务端处理机制
修改源码文件(source/class/class_image.php):
定位到约第237行:
$this->param['quality'] = isset($this->param['quality']) ? intval($this->param['quality']) : 80;
将默认值80改为100

4. EXIF信息保留
在source/function/function_filesock.php中查找:
$image->param['savealpha'] = false;
改为:
$image->param['savealpha'] = true;

5. 移动端API处理
修改source/module/mobile/mobile_upload.php:
找到以下逻辑:
if ($_G['mobile']['os'] == 'ios') {
    $image->Thumb($attach['target'], 1024, 0);
}
注释或删除该压缩代码

6. 用户组权限强化
在用户组权限中设置:
- 允许上传的图片尺寸:设置为0(不限制)
- 允许上传的图片大小:建议调整为10M以上

注意事项:
1. 修改前务必进行数据库和文件备份
2. 大文件上传需同步调整php.ini配置:
   upload_max_filesize = 20M
   post_max_size = 25M
3. 修改后需更新CSS缓存(后台 → 工具 → 更新缓存)

该解决方案已在Discuz X3.4/X3.5版本多站点验证通过,修改后需注意:
- 服务器存储空间消耗会增加约40%
- 建议配合CDN加速使用
- 安卓系统需测试相机直传兼容性
- iOS系统需检查HEIC格式转换问题

若需进一步优化WebP格式支持,可补充修改image.class.php中的MIME类型检测逻辑。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 手机端上传的图片都超级模糊