上传某些PNG文件时,OneDrive网站和REST API返回的Photo对象会错误地报告大小。这可以使用以下PNG文件重现:
http://www2.zippyshare.com/v/11270772/file.html
文件大小 20.3 KB ,OneDrive将其显示为 38.4 KB
这似乎只发生在缩小/转换了缩小/转换后缩小/转换的PNG文件时,缺少或设置为true。但问题不仅限于使用REST API上传。
问题已经报告here。
答案 0 :(得分:4)
来自OneDrive的Ryan。我们调查了这个并且很好地理解了尺寸出了什么问题。 OneDrive通过使用与文件关联的最大数据流的大小来计算文件在系统中占用的“空间”。当图像上传到OneDrive时,我们还会为图像创建缩略图,以便我们可以在客户和网站上快速显示各种视图。
对于此特定文件,我们为PNG文件创建的JPG缩略图之一实际上大于原始文件(由于JPG压缩不如此图像的PNG有效)。因此,缩略图实际上是文件中最大的流。你可以想象,这种情况不会经常发生,但是对于这个图像(以及其他类似图像),我们有这个错误。
我们有一个跟踪问题的错误,正在研究如何修复API以返回“默认”流的大小 - 表示文件实际内容的流。我没有修复的ETA,但我们正在努力。
答案 1 :(得分:0)
FWIW,我感谢您的帖子,我发现这与我几周前制作的Android Onedrive SDK帖子似乎是同一个问题
Does OneDrive change/re-encode jpg files?
似乎MS的任何人都没有密切监视这些SO标签,所以我在Android SDK上创建一个Github问题,也许会产生答案。
https://github.com/liveservices/LiveSDK-for-Android/issues/37