这是一个典型的img,其中src有一个blob:
<img class="gwt-Image" src="blob:a7cb8111-cf35-4c3a-8295-bdda0ff66caf">
我的GWT应用程序是否有办法下载获取客户端操作的blob数据?
我试过这个:
private native String blobToBase64(String source)/*-{
var xhr = new XMLHttpRequest();
xhr.open('GET', source, true);
xhr.responseType = 'blob';
xhr.onload = function(e) {
if (this.status == 200) {
var myBlob = this.response;
alert("Converted to Blob");
}
};
xhr.send();
}-*/;
但是,传递blob源时不会显示警告框,因此它不起作用。 this.status
响应为0
答案 0 :(得分:1)
也许像
button.setAttribute("download", "filename.png");
String url = "data:Application/octet-stream;base64," + blobAsBase64;
button.setHref(url);
单击按钮时,应使用提供的文件名下载文件。
另一种方法是使用点击处理程序并使用
Window.open(url, "_blank", "menubar=no,status=no");