我已经配置了一个中的S3MessageHandler来将一个File对象上传到S3。
上传失败,跟踪如下:
由: com.amazonaws.util.LengthCheckInputStream.checkLength(LengthCheckInputStream.java:152):com.amazonaws.AmazonClientException: Data read具有与预期不同的长度: dataLength=0;expectedLength=26;includeSkipped=false;in.getClass()=class com.amazonaws.internal.ResettableInputStream;markedSupported=true;marked=0;resetSinceLastMarked=false;markCount=1;resetCount=0
看一下S3MessageHandler的源代码,我不知道上传一个File会如何成功。当我跟踪它的执行时,s3MessageHandler.upload()方法会执行以下操作:
我是不是遗漏了什么,还是消息处理程序中的bug?
发布于 2016-07-10 08:48:57
是的,这是一个bug;请打开一个GitHub中的问题和/或一个JIRA问题。
对于FileInputStream,应该创建一个新的,对于InputStream有效负载,如果MD5消耗了流,我们需要断言markSupported()是真的。
考虑在“签署”CLA之后的促成一个解决办法。
编辑
我开了JIRA问题INTEXT-225。
https://stackoverflow.com/questions/38287006
复制相似问题