如何在没有 base64 加密开销的情况下使用 Dart 将画布元素发送到服务器?
问问题
173 次
1 回答
4
此代码将画布元素转换为 dart 中的二进制格式:
import 'dart:html';
import 'dart:core';
import 'dart:typed_data';
/*** possible values for imagetype: 'image/jpeg', 'image/png', 'image/webp'
*** see https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement
***/
Uint8List toUploadData(CanvasElement canvas, String imagetype, num quality) =>
new Uint8List.fromList(window.atob(canvas.toDataUrl(imagetype,
quality).split(",")[1]).codeUnits);
然后可以按如下方式上传:
UploadImageData(Uint8List imagedata) =>
HttpRequest.request('myserverscript.php',
method:"POST",
sendData: imagedata);
于 2013-11-07T15:19:05.843 回答