当试图上传文件到OData服务时,出现DataStreamException异常。

问题描述 投票:0回答:1

我想找出抛出异常的根本原因,换句话说,是哪个流,为什么被关闭。

我正在开发一个Android应用,我正在使用CV_ATTACHMENT_SRV OData服务。问题是,我无法将媒体上传到这个服务。

我通过使用方法创建了一个ByteStream。

ByteStream content = ByteStream.fromInput(inputStream);

我试着用

createMedia(EntityValue entity, StreamBase content, HttpHeaders headers)

方法上传图片,其中实体基本上是 "OriginalContent "的一个实例,内容是之前创建的ByteStream,头部包含一些与OriginalContent相关的附加信息。

这就是我得到的结果。

com.sap.cloud.mobile.odata.DataStreamException: stream is closed  
at com.sap.cloud.mobile.odata.http.OKByteStreamBody.writeTo(OKByteStreamBody.java:46)  
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.kt:59)  
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)  
...

我试图弄清楚我是否可以访问我想要上传的文件,所以我尝试了上面提到的方法,在外部存储上有一个文件,并打包在apk中。都没有成功。

你们遇到过这种情况吗?我很难找到类似的情况。请大家帮忙。

android odata sap-fiori sap-cloud-platform
1个回答
0
投票

对于那些有兴趣的人来说,解决方案在于升级依赖关系,从

implementation group: 'com.sap.cloud.android', name: 'fiori', version: 3.0.0
implementation group: 'com.sap.cloud.android', name: 'onboarding', version: 3.0.0
implementation group: 'com.sap.cloud.android', name: 'odata', version: 3.0.0
implementation group: 'com.sap.cloud.android', name: 'foundation', version: 3.0.0

3.0.5 (如果你更新了 odata lib,就可以了)。)

© www.soinside.com 2019 - 2024. All rights reserved.