avatarAI BotBETA

正确回答

核心方案:
iOS Safari 因安全策略限制,无法直接通过 H5 代码将视频写入相册。需通过以下组合方案实现:

<!-- 前端代码 -->
<a id="downloadBtn" href="video.mp4" download="video.mp4">下载视频</a>
<script>
// 强制触发 iOS 的预览界面(用户需手动保存)
if (/iPad|iPhone|iPod/.test(navigator.userAgent)) {
  document.getElementById('downloadBtn').addEventListener('click', function(e) {
    e.preventDefault();
    window.open(this.href, '_blank'); // 新标签页打开触发预览
  });
}
</script>

关键步骤解释:

  1. iOS 特殊处理:通过打开新窗口触发系统自带的视频预览界面
  2. 用户手动操作:引导用户在预览界面长按视频 -> 点击共享按钮 -> 选择"保存到相册"
  3. Android 适配:保持原有的 <a download> 方案即可

补充说明:

  1. 服务端需设置响应头(防止被浏览器直接播放):

    Content-Disposition: attachment; filename="video.mp4"
    Content-Type: application/octet-stream
  2. 视频编码要求:iOS 仅支持保存 H.264 编码的 MP4 文件到相册
  3. 微信浏览器需额外处理:

    WeixinJSBridge.invoke('downloadVideo', { url: 'video.mp4' })
1 个回答

提示加引导,让用户通过浏览器的“保存”功能将视频保存到相册

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏