URL.createObjectURL returns 一个带有 null 前缀的 blob。例如:斑点:null/12415-63
URL.createObjectURL returns a blob with null prepended. Eg : Blob:null/12415-63
blob 在开头添加了空值,例如:blob:null/72438-4637-23673-34721。但是当我使用相同的作为 src 时,它显示了正确的图像。
我正在使用 URL.createObjectURL 电话。我也尝试使用 webkitURL。 return 都是一个在开头附加了 null 的 blob。 URL 和 webkitURL 编辑的 blob 值 return 也不相同。
这是代码片段
var dataUrl = canvas.toDataURL();
// The last piece of the data URL after the comma
var byteString = atob(dataUrl.split(',')[1]);
// Populate an array buffer
var arrayBuffer = new ArrayBuffer(byteString.length);
var uint8Array = new Uint8Array(arrayBuffer);
for (var i = 0; i < byteString.length; i++) {
uint8Array[i] = byteString.charCodeAt(i);
}
var blob = new Blob([uint8Array], { type: "image/png" });
var blobVal = URL.createObjectURL(blob);
这里的 blobVal 有 "blob:null/1234-5678-9012- ..."
这就是起源,文件系统和沙盒 iframe(也许其他)的起源是 null。如果您设置本地服务器,它应该说 http%3A//localhost
,即 http://localhost
url 编码
var arrayBuffer = new ArrayBuffer(100);
var uint8Array = new Uint8Array(arrayBuffer);
for (var i = 0; i < 100; i++) {
uint8Array[i] = i;
}
var blob = new Blob([uint8Array], { type: "image/png" });
var blobVal = URL.createObjectURL(blob);
$('div').html(blobVal);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>
这个说http%3A//fiddle.jshell.net
http://jsfiddle.net/thsn3ayp/
blob 在开头添加了空值,例如:blob:null/72438-4637-23673-34721。但是当我使用相同的作为 src 时,它显示了正确的图像。
我正在使用 URL.createObjectURL 电话。我也尝试使用 webkitURL。 return 都是一个在开头附加了 null 的 blob。 URL 和 webkitURL 编辑的 blob 值 return 也不相同。
这是代码片段
var dataUrl = canvas.toDataURL();
// The last piece of the data URL after the comma
var byteString = atob(dataUrl.split(',')[1]);
// Populate an array buffer
var arrayBuffer = new ArrayBuffer(byteString.length);
var uint8Array = new Uint8Array(arrayBuffer);
for (var i = 0; i < byteString.length; i++) {
uint8Array[i] = byteString.charCodeAt(i);
}
var blob = new Blob([uint8Array], { type: "image/png" });
var blobVal = URL.createObjectURL(blob);
这里的 blobVal 有 "blob:null/1234-5678-9012- ..."
这就是起源,文件系统和沙盒 iframe(也许其他)的起源是 null。如果您设置本地服务器,它应该说 http%3A//localhost
,即 http://localhost
url 编码
var arrayBuffer = new ArrayBuffer(100);
var uint8Array = new Uint8Array(arrayBuffer);
for (var i = 0; i < 100; i++) {
uint8Array[i] = i;
}
var blob = new Blob([uint8Array], { type: "image/png" });
var blobVal = URL.createObjectURL(blob);
$('div').html(blobVal);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>
这个说http%3A//fiddle.jshell.net
http://jsfiddle.net/thsn3ayp/