首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wicket添加了一个大的Pdf作为资源

Wicket添加了一个大的Pdf作为资源
EN

Stack Overflow用户
提问于 2012-09-12 09:58:44
回答 2查看 1.6K关注 0票数 2

在我的应用程序中,我用ByteArrayResource显示pdf。在我开始处理更大的文件之前,这一切都很顺利。到ByteArray的转换一直给我一个内存不足的错误。

我现在就是这样做的:

代码语言:javascript
复制
        File myPdf=new File(thePath);
        FileInputStream fin = new FileInputStream(myPdf);
        final byte fileContent[] = new byte[(int)myPdf.length()];
        fin.read(fileContent);
        fin.close();
        ResourceReference rr = new ResourceReference(dePdf.getName()) {

        @Override
        public IResource getResource() {
            return new ByteArrayResource("Application/pdf", fileContent);

        }
        };
        if (rr.canBeRegistered()) {
            getApplication().getResourceReferenceRegistry().registerResourceReference(rr);
        }        

        return wmc;

有更好的方法显示大文件吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-12 10:14:03

尝试使用ResourceStreamResource和FileResourceStream:

代码语言:javascript
复制
File myPdf=new File(thePath);
FileResourceStream frs = new FileResourceStream(myPdf);

ResourceStreamResource rsr = new ResourceStreamResource(frs);
rsr.setContentDisposition(ContentDisposition.ATTACHMENT);
rsr.setFileName(fileName);

//the same code for resource reference creation and registration
//...
票数 4
EN

Stack Overflow用户

发布于 2012-09-12 10:13:53

不完全确定(我从未真正使用过它们),但ContextRelativeResource可能是一种选择。也许是这样的:

代码语言:javascript
复制
final File myPdf=new File(thePath);
        ResourceReference rr = new ResourceReference(dePdf.getName()) {

        @Override
        public IResource getResource() {
            // You'll need to adjust the path here to be relative to your context
            return new ContextRelativeResource(myPdf.getAbsolutePath());

        }
        };
        if (rr.canBeRegistered()) {
            getApplication().getResourceReferenceRegistry().registerResourceReference(rr);
        }        
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12385635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档