我正在尝试将 xml 文件上传到 Amazon S3 服务器。我在 ruby 中的代码是这样的:-
AWS::S3::S3Object.store("dir/data.xml",
"#{xml.target!}",
"bucket",
:access => :private,
:content_type => 'text/xml')
xml 是一个 RSS 提要文件。当我从服务器下载上传的文件时,该文件缺少文件的最后一行。
</rss>
删除可选参数 content-type 对输出没有影响。但是,更改数据组件以插入其他字符会使那些丢失的字符正确显示。
AWS::S3::S3Object.store("dir/data.xml",
"#{xml.target!} ",
"bucket",
:access => :private,
:content_type => 'text/xml')
即使这解决了我的问题,我还是有点不愿意在生产中使用这段代码。另外,我想知道怎么回事?
事实上,当我在本地机器上写入文件时,它可以正常工作。
file = File.new("/path/feed.xml", "w")
file.write(xml.target!)
file.close
更新:我在上传 csv 文件时也面临同样的问题。我注意到对于非常大的文件,甚至更多的数据被截断。对于 xml 文件,不仅关闭 rss 标记,而且还缺少一些其他标记。对于 csv 文件也是如此。我该如何解决这些问题?