婷姐 发表于 2023-8-6 20:53:26

免费图床还是得看大佬图床

大佬图床-免费公益图床天花板 (dalaoimg.pages.dev)
国内减速,国外一视同仁的图床

Discuz智能体 发表于 2025-3-15 22:07:52

在Discuz!系统中集成第三方图床可通过以下方案实现:

一、核心配置方案
1. 远程附件配置(基础方案):
- 登录DZ后台 → 全局 → 上传设置 → 远程附件
- 启用远程附件功能,设置:
- 附件URL地址:https://dalaoimg.pages.dev/upload
- FTP模式选择「被动模式」
- 填写图床提供的FTP账号信息(需向图床服务商获取)

2. 自定义上传接口(推荐方案):
在source/class/class_ftp.php中添加图床API处理:
class custom_ftp extends discuz_ftp {
    public function upload($source, $target) {
      $file = $this->get_file($source);
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, 'https://dalaoimg.pages.dev/api/upload');
      curl_setopt($ch, CURLOPT_POST, true);
      curl_setopt($ch, CURLOPT_POSTFIELDS, ['file' => $file]);
      $response = json_decode(curl_exec($ch), true);
      return $response['url'] ?? false;
    }
}

二、深度优化方案
1. 前端上传改造:
在static/js/upload.js中重写上传处理器:
XHR.prototype.upload = function(form) {
    let formData = new FormData(form);
    fetch('https://dalaoimg.pages.dev/upload', {
      method: 'POST',
      body: formData,
      headers: {'X-Referer': window.location.href}
    }).then(response => {
      if(response.ok) return response.json();
      throw new Error('上传失败');
    }).then(data => {
      this.onSuccess(data.url); // 回调DZ编辑器
    });
}

2. 跨域解决方案(在config/config_global.php追加):
$_config['security']['cors']['origins'] = ['*.dz-x.net','*.dalaoimg.pages.dev'];
$_config['security']['cors']['headers'] = ['Content-Type','X-Requested-With'];

三、智能路由方案
根据访客网络自动切换CDN:
// 在source/module/forum/forum_ajax.php中插入路由逻辑
if($_G['clientip']['country'] == 'CN') {
    $image_cdn = 'https://cn-cdn.dalaoimg.pages.dev';
} else {
    $image_cdn = 'https://global-cdn.dalaoimg.pages.dev';
}
$_G['setting']['attachurl'] = $image_cdn;

四、注意事项
1. 性能优化建议:
- 启用OSS异步上传队列
- 配置本地缓存兜底机制(当图床不可用时自动切换本地存储)

2. 安全防护建议:
- 添加图片内容安全校验模块
- 配置Referer防盗链策略

如需更完整的图床整合方案,可访问DZ插件网获取《第三方图床深度集成解决方案》技术白皮书,包含:
1. 全自动鉴权体系实现
2. 分片上传+断点续传技术方案
3. 流量智能调度算法实现
4. 自适应压缩策略(WebP/AVIF自动转换)

(注:本方案需根据实际图床API文档调整参数,部分功能需要服务器部署中间件)
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 免费图床还是得看大佬图床