我想将带有Ajax的PNG数据URL发送到我的PHP脚本,但客户端的Url与我使用PHP的内容不同。
$.ajax({
url: "proceed.php",
type: "post",
data: "signature=" + signaturePad.toDataURL('image/png'),
error: function(e) {
alert("ERROR");
console.log(e);
},
success: function(e) {
alert(e);
}
});
我认为它在发送时会受损 - 可能是编码问题?
我已经尝试使用JSON对URL进行编码,但问题是同样的......
data: "singature=" + JSON.stringify(signaturePad.toDataURL("image/png")
答案 0 :(得分:0)
我认为您使用的是HTML5&{39} as described here。
您的图片数据不一样,因为您不是发送实际图片,而是发送您网站上绘制的图片数据。
由于浏览器丢弃了不需要的数据并且(可能)仅保留RGBA和大小信息,因此您收到的图像可以理解为“损坏”。文档还指出图像分辨率始终仅 96 dpi。
使用URI组件传输"二进制数据"也可能会出现问题。 (这些引用应该是巨大的)。似乎没有设置URI组件的下限或上限,如here所述。我建议仅在小型(IMHO约40x40px)图像的情况下使用此技术。
请参阅here,了解如何通过jQuery&{39} column.separate = c(2, 1), column.labels = c("option a", "option b")
发送更大的图片。