查看: 9951|回复: 5

如何根据接口获取到文件流

升级   7.61%

71

主题

83

回帖

761

积分

注册会员

Rank: 2

积分
761
发表于 2023-3-13 15:03:03 | 显示全部楼层 |阅读模式
我使用这个接口调取系统中的文件,但是获取到的data是乱码,请问如何接收这个文件呢?
var action = this.Actions.load("x_processplatform_assemble_surface");       action.AttachmentAction.downloadStream(//平台封装好的方法      id,//uri的参数      function( json ){ //服务调用成功的回调函数, json为服务传回的数据         data = json.data; //为变量data赋值      }.bind(this),     function( json ){ //服务调用失败的回调函数, json为服务传回的数据        data = json.data; //为变量data赋值     }.bind(this)    );




本帖子中包含更多资源

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

x
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2023-3-14 10:02:52 | 显示全部楼层
用window.open 打开对应的附件地址
回复

使用道具 举报

升级   7.61%

71

主题

83

回帖

761

积分

注册会员

Rank: 2

积分
761
发表于 2023-3-14 15:18:10 | 显示全部楼层
本帖最后由 zheng 于 2023-3-15 09:35 编辑
论坛管理员 发表于 2023-3-14 10:02
用window.open 打开对应的附件地址

我需要从其它的系统来访问oa中的文件,前提我已经拿到oa中的token了,所以就得用ajax发送请求访问文件,然后我从外部系统预览这个文件,发现这个resultJson中的responseText是一个blob类型的对象,我解析这个blob成pdf却是空白的。请问如何解决
$.ajax({        type : 'GET',        dataType : 'json',        url : 'http://:20020/x_processplatform_assemble_surface/jaxrs/attachment/download/替换参数0/stream?fileName=替换参数0',        headers : {'x-debugger' : true},        contentType : 'application/json',        xhrFields : {'withCredentials' : true},        crossDomain : true}).always(function(resultJson) {        alert(JSON.stringify(resultJson, null, 4))});
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2023-3-15 09:29:33 | 显示全部楼层
Blob是二进制流,不能用json的方式处理。用户要查看,直接用window.open。如果你有其他的预览软件,就要整个软件的api。
回复

使用道具 举报

升级   7.61%

71

主题

83

回帖

761

积分

注册会员

Rank: 2

积分
761
发表于 2023-3-15 09:36:22 | 显示全部楼层
论坛管理员 发表于 2023-3-15 09:29
Blob是二进制流,不能用json的方式处理。用户要查看,直接用window.open。如果你有其他的预览软件,就要整 ...

如果用window.open('http://:20020/x_processplatform_assemble_surface/jaxrs/attachment/download/替换参数0/stream?fileName=替换参数0'),返回结果是会话过期,因为我是从别的系统来访问o2oa中的文件的
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2023-3-15 15:57:25 | 显示全部楼层
您不是已经拿到token了吗,window.open时戴上token就可以了
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread