1

是否可以通过画布(canvas.toDataURL("image/png"))导出图像并绑定以<input type="file" />编程方式上传控件而不使用服务器端技术(因此,只有 javascript)?

所以基本上,我的客户有一个<form>和其他字段,他希望有一个可编辑的图像字段,该字段将添加到 POST 上的文件上传 HTML 控件中。我不能以任何其他方式这样做,因为现有的<form>是第三方,这意味着我无法修改服务器端逻辑并且客户端坚持保留该第三方<form>

所以,我有一个客户的具体愿望,我不知道这是否可能。任何提示/指针/帮助将不胜感激。谢谢!

编辑:可能应该提到该解决方案必须跨浏览器工作,包括 IE7

4

1 回答 1

2

可能您可以使用FormData. 您需要使用BlobBuilder. 与FormData您一起可以:

var dataURL = canvas.toDataURL('image/jpeg', 0.5),
    blob = dataURItoBlob(dataURL),
    fd = new FormData(document.getElementById('form'));
fd.append("canvasImage", blob);

在这里您可以阅读有关此方法的更多信息Convert Data URI to File 然后附加到 FormData

于 2013-01-16T14:23:13.387 回答