我想找出抛出异常的根本原因,换句话说,是哪个流,为什么被关闭。
我正在开发一个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中。都没有成功。
你们遇到过这种情况吗?我很难找到类似的情况。请大家帮忙。
对于那些有兴趣的人来说,解决方案在于升级依赖关系,从
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,就可以了)。)