我想找出引发异常的根本原因,换句话说,哪个流以及为什么关闭。
我正在开发一个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中。他们都没有工作。
你们遇到过这种情况吗?我很难找到类似的情况。请帮忙。
答案 0 :(得分: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
库,也可以)。