【发布时间】:2018-06-08 08:09:34
【问题描述】:
我有一个非计算设备,需要根据设备的当前状态将该设备的用户发送到某个网页。状态由多个键值对组成,我们将这些键值对编码为 URL(例如 http://example.com/doMyStatus?prop1=val1&prop2=val2)。总而言之,这个 URL 可能会达到 500 多个字符,因此我们不能指望用户手动将其输入到她的浏览器中。
相反,我们计划显示带有 URL 的 QR 码,用户可以使用智能手机访问该 URL。
因此,我们无法将这个长 URL 作为 POST 请求提交给服务器(尽管这是最好的方法)。有什么方法可以压缩 URL 以适应中等分辨率的 QR 码?我们只需要压缩查询字符串:二维码会包含一个类似http://example.com/decompress?compressedQueryString的URL。
Zip+Base64 只会使 URL 变长。我考虑过编写一个自定义 URL 缩短器并让设备在创建 QR 码之前提交 URL 以进行缩短,这需要更多的工作(存储(短寿命!)缩短的 URL),但可能是最实用的解决方案。
【问题讨论】:
标签: compression qr-code asp.net-web-api