这是我的目标,
user uploads a file and crop the img size what we wants.
cw1canv2 is the canvas element that have been cropped.
我得到了画布的数据网址,
var imgData = document.getElementById('cw1canv2')。toDataURL(“image / png”);
在imgData中,它显示如下。
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG0AAABtCAYAAACr+O9WAAAgAElEQVR4Xu1VERYLONGVERYLONG...
好的,现在我必须将它发送到带有请求参数的服务器。
这是我的正面代码,
<%=f.hidden_field(:photo)%>
并插入像这样的数据库
$("#photo").val(imgData);
最后,请求参数就像这样,
"photo"=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG0AAABtCAYAAACr+O9WAAAgAElEQVR4Xu1debBlR13+9d3fvJk3W2ayTJKZyTpZSYCQhEUkEAQKKIhKlE3FAFqgIiVUUa5VVGEVf1CgYCGKUFCUFBbFIiIGUYIiIBAlSoJZZjKTWTLrm/fevPW+e4/f9+vuc/r0PXd7GWYe4Z6annPfWbv76++39XLM8g93JmbrMTHjsyLldmJE8K94S0S6nm/P4OSkJIJHy
但问题是,服务器端开发人员希望发送这样的数据,
"photo"=>#<ActionDispatch::Http::UploadedFile:0x00000005481368
@original_filename="logo.jpg", @content_type="image/jpeg", @headers="Content-Disposition:
form-data; name=\"om_user[photo]\"; filename=\"logo.jpg\"\r\nContent-Type: image/jpeg\r\n",
@tempfile=#<File:/tmp/RackMultipart20140306-2624-nntf44>>
这是具有输入文件类型的普通文件上传案例。
<%=f.file_field(:photo)%>
如何将dataurl转换为这种格式?