使用GWT从URL下载数据

时间:2013-09-09 03:02:41

标签: java javascript jquery gwt jsni

这是一个典型的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

1 个答案:

答案 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");