在gwt中上载到服务器之前在客户端上显示图像

在gwt中上载到服务器之前在客户端上显示图像,gwt,image-uploading,Gwt,Image Uploading,在上传到服务器之前,我想在客户端上显示一个图像及其尺寸。每当我尝试创建gwt ext的图像小部件时,它都不接受本地文件(在文件系统上)。它只接受http请求。我还尝试了String img=GWT.getHostPageBaseURL()+“image\u name”和replace函数,但结果相同。最后我转到了imagepreload,但它也需要一个URL ImagePreloader.load("URL of image", new ImageLoadHandler() { publ

在上传到服务器之前,我想在客户端上显示一个图像及其尺寸。每当我尝试创建gwt ext的
图像
小部件时,它都不接受本地文件(在文件系统上)。它只接受http请求。我还尝试了
String img=GWT.getHostPageBaseURL()+“image\u name”
和replace函数,但结果相同。最后我转到了
imagepreload
,但它也需要一个URL

ImagePreloader.load("URL of image", new ImageLoadHandler()
{
    public void imageLoaded(ImageLoadEvent event) 
    {
        if (event.isLoadFailed())
            Window.alert("Image " + event.getImageUrl() + "failed to load.");
        else
            Window.alert("Image dimensions: " + event.getDimensions().getWidth() + " x " + event.getDimensions().getHeight());
    }
});

有人能提出一个不包括先上传图像的解决方案吗?

看看这个相关的问题和答案:

您可以使用JSNI包含它。我现在知道了GWT中的一个解决方案



刚刚找到声称能够在上传图像之前预览图像的内容。

请查看下面的示例JS代码:

function readURL(input) {

if (input.files && input.files[0]) {
    var reader = new FileReader();

    reader.onload = function (e) {
        $('#blah').attr('src', e.target.result);
    }

    reader.readAsDataURL(input.files[0]);
}
}

 $("#imgInp").change(function(){
   readURL(this);
});
以及相关的HTML:

 <form id="form1" runat="server">
    <input type='file' id="imgInp" />
    <img id="blah" src="#" alt="your image" />
</form>


感谢回复,我使用了gwtupload,但它的servlet创建了一个本地目录结构,而不是在上传文件后将url发送到客户端…我是jsni新手。我不知道它是如何使用的,我在简单的java脚本和html上使用了它,但它不起作用。请帮助…是的,我看到了,但在下面的html代码中,函数如何调用,我如何使用GWt Ext file upload调用此函数-1您刚刚复制了一个不是您的函数,并将其发布在这里。您甚至没有包括显示它工作的JSFIDLE。