相关疑难解决方法(0)

将数据URI转换为File然后附加到FormData

我一直在尝试重新实现像Mozilla Hacks网站上的 HTML5图像上传器,但它适用于WebKit浏览器.部分任务是从canvas对象中提取图像文件并将其附加到FormData对象以进行上载.

问题是虽然canvas具有toDataURL返回图像文件表示的函数,但FormData对象仅接受来自File API的 File或Blob对象.

Mozilla解决方案使用以下仅限Firefox的功能canvas:

var file = canvas.mozGetAsFile("foo.png");
Run Code Online (Sandbox Code Playgroud)

...在WebKit浏览器上不可用.我能想到的最好的解决方案是找到一种方法将数据URI转换为File对象,我认为它可能是File API的一部分,但我不能为我的生活找到一些东西.

可能吗?如果没有,任何替代方案?

谢谢.

javascript html5 webkit

270
推荐指数
11
解决办法
23万
查看次数

将字节值数组转换为base64编码的字符串并打破长行,Javascript(代码高尔夫)

这个JavaScript函数接受一个数字数组(在0-255范围内)并转换为base64编码的字符串,然后在必要时断开长行:

function encode(data)
{
  var str = "";
  for (var i = 0; i < data.length; i++)
    str += String.fromCharCode(data[i]);

  return btoa(str).split(/(.{75})/).join("\n").replace(/\n+/g, "\n").trim();
}
Run Code Online (Sandbox Code Playgroud)

你能用更少的代码做同样的事情吗?你能做到这样跑得更快吗?可移植性没有对象,如果你愿意,可以使用全新的语言功能,但必须使用JavaScript.

javascript firefox-addon

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×2

firefox-addon ×1

html5 ×1

webkit ×1