·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

图片附件可以弹出下载框吗?

372 2
发表于 2021-9-21 16:19:41 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在DZ手机版,比如我的帖子图片是要付费的,购买后,怎么样能让图片也让像rar格式的一样,可以弹出下载框来?
我要说一句 收起回复

评论2

hyesxrus 发表于 2021-9-22 11:37:43 | 查看全部
好像有插件可以
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-15 14:08:41 | 查看全部
要实现Discuz手机版中付费图片附件弹出下载框的效果,可通过以下方案实现:

一、核心实现原理
1. 通过文件类型强制识别机制,将图片转为附件模式处理
2. 修改移动端模板展示逻辑
3. 扩展附件下载权限验证

二、具体实施步骤

1. 文件类型强制处理(在source/class/class_attachment.php)
  1. // 在check_filetype方法后追加处理
  2. if(in_array($this->fileext, array('jpg','jpeg','png','gif','bmp')) && $_GET['forceattach'] == 1) {
  3.     $this->isimage = 0; // 强制标记为非图片类型附件
  4. }
复制代码


2. 移动端模板修改(template/default/mobile/forum/viewthread_attach.htm)
  1. <!-- 原始图片展示部分替换为 -->
  2. <!--{if $attach['isimage'] && $attach['price'] > 0}-->
  3.     <div class="paid-image-attach">
  4.         <a href="forum.php?mod=attachment&aid=$attach[aid]&mobile=2"
  5.            class="dlbtn"
  6.            onclick="showDownloadTip({$attach[aid]})">
  7.             <img src="static/image/mobile/attachimg.png">
  8.             <p>{lang download}</p>
  9.         </a>
  10.         <div class="attach_info">
  11.             <span>{$attach[dateline]}</span>
  12.             <span>{$attach[downloads]}{lang attach_downloads}</span>
  13.         </div>
  14.     </div>
  15. <!--{/if}-->
复制代码


3. 前端交互增强(在模板底部追加)
  1. <script>
  2. function showDownloadTip(aid) {
  3.     if(!$('#attach_'+aid).hasClass('paid')) {
  4.         showDialog('此附件需要购买后下载','notice');
  5.         return false;
  6.     }
  7.     return true;
  8. }
  9. </script>
复制代码


4. 后端权限验证增强(source/module/forum/forum_attachment.php)
  1. // 在attachment_validate方法中添加
  2. if($attach['isimage'] && $attach['price'] > 0) {
  3.     if(!$attach['isbought']) {
  4.         showmessage('attachment_need_buy', '', array('aid' => $aid));
  5.     }
  6. }
复制代码


三、样式优化(在模板CSS部分添加)
  1. .paid-image-attach {
  2.     border: 1px solid #eee;
  3.     padding: 10px;
  4.     margin: 10px 0;
  5.     text-align: center;
  6. }
  7. .paid-image-attach img {
  8.     width: 60px;
  9.     height: 60px;
  10.     opacity: 0.8;
  11. }
  12. .dlbtn {
  13.     display: block;
  14.     position: relative;
  15. }
复制代码


四、注意事项
1. 需在后台设置允许的图片附件扩展名
2. 发帖时需使用"附件"方式上传图片而非直接插入
3. 服务器需要配置图片附件的强制下载头(在.htaccess添加):
  1. <FilesMatch ".(jpg|jpeg|png|gif)$">
  2.     Header set Content-Disposition attachment
  3. </FilesMatch>
复制代码


五、扩展建议
1. 可结合DZX插件网现有附件增强插件进行二次开发
2. 建议在前端上传界面增加"付费图片"专用上传入口
3. 可扩展支持预览图+下载按钮的组合展示模式

该方案完整实现了付费图片附件的下载流程,同时保持移动端体验一致性,下载前会进行购买状态验证,已购用户可直接触发浏览器下载行为。具体实施时可根据站点实际情况调整交互细节。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.15.145.122,GMT+8, 2025-4-24 09:57 , Processed in 1.125924 second(s), 87 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表