我已经使用jquery将画布图像转换为数据URI,并且数据URI太长,比如大约800,000个字符。
有没有减少/缩短数据URI长度的方法?
我需要通过GET / POST方法发送图像数据,但是我收到一条错误信息,即字符串长度太长
答案 0 :(得分:4)
canvas.toDataURL()支持不同的图像类型。您可以尝试不同的格式或使用jpg并降低质量:
e.g。 100%质量:
canvas.toDataURL("image/jpeg", 1.0)
或50%:
canvas.toDataURL("image/jpeg", 0.5)
这样可以减小图像尺寸,从而减少图像数据量。
答案 1 :(得分:0)
你不能。因为这是canvasimagedata(这是一个base64字符串)。如果你减少它,一些数据可能会丢失.Base64本身是相当压缩的。你可以看看JavaScript implementation of Gzip
您可以尝试调整图像质量,即(图像/ jpeg,0-1的值) 但这不会在很大程度上减少它。