<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>媒体上传 on PlumePHP</title><link>https://plumephp.com/tags/%E5%AA%92%E4%BD%93%E4%B8%8A%E4%BC%A0/</link><description>Recent content in 媒体上传 on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Thu, 15 Oct 2026 20:30:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/%E5%AA%92%E4%BD%93%E4%B8%8A%E4%BC%A0/index.xml" rel="self" type="application/rss+xml"/><item><title>《互联网产品的客户端架构·内容、社交与实时互动》4.3 图片格式选择与端上降级</title><link>https://plumephp.com/inet-client-social-04-3-image-format/</link><pubDate>Thu, 15 Oct 2026 20:30:00 +0800</pubDate><guid>https://plumephp.com/inet-client-social-04-3-image-format/</guid><description>同一张封面图，在支持 AVIF 的手机上清晰又小，在旧 WebView 里却可能直接白屏。本节把能力探测、格式顺序、尺寸变体、压缩参数与版本化 URL 串成一条可测策略：只在解码探测通过时使用新格式，按 DPR 选最小可用变体，解码失败沿降级链回退，并用内容哈希路径保证缓存不会串图。</description></item><item><title>《互联网产品的客户端架构·内容、社交与实时互动》4.2 断点续传与失败恢复</title><link>https://plumephp.com/inet-client-social-04-2-resume-upload/</link><pubDate>Thu, 15 Oct 2026 19:00:00 +0800</pubDate><guid>https://plumephp.com/inet-client-social-04-2-resume-upload/</guid><description>上传到 87% 时进程被系统回收，回来后是从头开始还是接着传？本节把上传会话拆成会话 id、文件指纹、已确认分片清单与过期时间，给出恢复决策表、以服务端为准的对账规则和按错误类型分流的重试策略，并复盘一次本地清单比服务端多、最终拼出缺片文件的事故。</description></item><item><title>《互联网产品的客户端架构·内容、社交与实时互动》4.1 上传编排：分片、并发与进度语义</title><link>https://plumephp.com/inet-client-social-04-1-upload-orchestration/</link><pubDate>Thu, 15 Oct 2026 15:30:00 +0800</pubDate><guid>https://plumephp.com/inet-client-social-04-1-upload-orchestration/</guid><description>一条 48MB 的视频会把上传器的问题全部放大：分片多大、并发几个、进度条该信哪个数、失败算不算完成。本节用内存传输适配器与可注入时钟实现上传编排器，区分线路进度与已确认进度，并复盘一次进度跑到 100% 而服务端合并失败的事故，给出可测试的完成判定。</description></item></channel></rss>