【问题标题】:com.amazonaws.SdkClientException: Data read has a different length than the expectedcom.amazonaws.SdkClientException:读取的数据长度与预期不同
【发布时间】:2018-06-01 16:02:02
【问题描述】:

解析 XML 类型的输入流时出现异常。

com.amazonaws.SdkClientException: Data read has a different length than the expected: dataLength=75876; expectedLength=481292147; includeSkipped=true; in.getClass()=class com.amazonaws.services.s3.AmazonS3Client$2; markedSupported=false; marked=0; resetSinceLastMarked=false; markCount=0; resetCount=0
    at com.amazonaws.util.LengthCheckInputStream.checkLength(LengthCheckInputStream.java:151)
    at com.amazonaws.util.LengthCheckInputStream.read(LengthCheckInputStream.java:109)

谁能告诉我为什么会出现这个异常?以及如何解决。 在这里,我有 S3Object,我从中获取 InputStream (data.getObjectContent())。 InputStream 包含我正在解析的 xml 数据。解析时出现此异常。

【问题讨论】:

    标签: java amazon-web-services jakarta-ee amazon-s3 inputstream


    【解决方案1】:

    我猜有人告诉你文件大小,而这个文件大小是不正确的。因此,一个明显的答案是在尝试将文件流式传输到 S3 之前自己计算文件大小(以字节为单位)。即将文件大小设置为

    file.length()
    

    如果您发布您的代码,我可能会提供进一步的帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-04
      • 2015-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多