java - byte[] 到 Wicket 中的 iresourcestream

标签 java xml ajax stream wicket

我想实现 this page 的例子.

我卡在 getResourceStream() 方法上了。我的应用程序有一个 byte[](生成的 XML 文件),用户应该可以下载。问题是我不知道如何将 byte[] 转换为 IResourceStream

这是我的:

final AJAXDownload download = new AJAXDownload()
{
    private static final long serialVersionUID = 1L;

    @Override
    protected IResourceStream getResourceStream()
    {
        ByteArrayResource bar = new ByteArrayResource("TEXT??", xmlFileInBytes);
                return (IResourceStream) bar;
        }
    };

上面的代码给出了一个ClassCastException。谁能解释一下我该如何解决这个问题?

最佳答案

您可以使用 IResourceStream 的子类 StringResourceStream 并使用字节数组:

你可以这样做:

  byte byteArray[] = new byte[1024]   //this is the byte array containing the xml which you want to use.
  StringResourceStream srs = new StringResourceStream(new String(byteArray));

因此在您的情况下,该方法将如下所示:

 final AJAXDownload download = new AJAXDownload()
 {
     private static final long serialVersionUID = 1L;

     @Override
     protected IResourceStream getResourceStream()
     {
         StringResourceStream bar = new StringResourceStream (new String(xmlFileInBytes) );
                 return (IResourceStream) bar;
         }
     };

关于java - byte[] 到 Wicket 中的 iresourcestream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16011213/

相关文章:

Android spinner dialogMode 样式

jquery - 使用 UJS、Rails 将数据添加到 AJAX 请求

ajax - jQuery AJAX 后回调似乎不起作用

java - 如何导入 javax.annotation.Nullable?

java - 服务器端分页可能吗?

java - 如何在Struts中使用servlet在JSP中动态检索SQL记录

java - 将未知对象转换为适当的 Method.invoke 参数的有效方法?

c# - 如何验证 XML 文件是否实现特定架构

python - 遍历 xml 在 python 中不起作用

javascript - 在 ASP.NET 中使用 javascript 进行检查时,如何传递复选框的值和相应的名称?