找回密码
 立即注册

QQ登录

只需一步,快速开始

pkpmgl

高级会员

126

主题

332

帖子

1010

积分

高级会员

积分
1010
pkpmgl
高级会员   /  发表于:2024-9-25 14:30  /   查看:812  /  回复:5
本帖最后由 pkpmgl 于 2024-9-25 14:32 编辑

需求:在后台代码中创建api,通过api直接导出图片

代码参考地址:
AR 15 导出为图片 - ActiveReports专区 - 求助中心 - 葡萄城开发者社区 (grapecity.com.cn)
渲染为Images - ActiveReports 报表控件用户手册 - 葡萄城产品文档中心 (grapecity.com.cn)

问题描述:在最后的渲染部分,提示对象为空【Object reference not set to an instance of an obiect.】

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

5 个回复

倒序浏览
Bella.YuanWyn认证
超级版主   /  发表于:2024-9-26 12:24:40
沙发
您好,我这边测试了导出图片是正常可以导出的,看您这里修改了代码,这个还得您打断点一步一步具体调试看看呢。
回复 使用道具 举报
pkpmgl
高级会员   /  发表于:2024-9-29 16:47:47
板凳
本帖最后由 pkpmgl 于 2024-9-30 08:26 编辑
Bella.Yuan 发表于 2024-9-26 12:24
您好,我这边测试了导出图片是正常可以导出的,看您这里修改了代码,这个还得您打断点一步一步具体调试看 ...

我原来写过导出PDF的方法:

现在按照同样的写法,想要导出图片:

方法【outputProvider.GetPrimaryStream()】在导出PDF的方法中能获取到值,在导出图片的方法中只能得到null

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2024-9-30 12:08:35
地板
您好,我这边大概做了一个Demo,您可以参考试一下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
pkpmgl
高级会员   /  发表于:2024-9-30 13:59:24
5#
Felix.Li 发表于 2024-9-30 12:08
您好,我这边大概做了一个Demo,您可以参考试一下:

您好,我看到您提供的代码了。这种写法我这里也是可以的,最终图片是导出到了服务器的某个位置,但这不太符合我的需求。
我想实现的是:前端调用接口,后端返回一个图片文件给前端,前端能够直接下载。

原来这种写法是能直接下载pdf文件的,但是同样的写法没办法下载图片文件
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2024-9-30 17:19:41
6#
您其实稍微改一下就行了,上面那个Demo是将导出的图片流用一个文件型的接收的。并且保存在本地。

您换一个接收就可以,其次就是您把最后接收的图片流结果,写一个接口,然后返回给前端,前端在去解析这个流文件展示就行了基本就是改一下这个:

  1. GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider memory = new GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider();
  2. // Overwrite output file if it already exists.
  3. //outputProvider.OverwriteOutputFile = true;

  4. reportDocument.Render(imageRenderingExtension, memory, imageSetting);
复制代码
memory您自己在处理一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部