如何在ruby中计算文件上传的内容长度?

如何在ruby中计算文件上传的内容长度?,ruby,paperclip,content-length,Ruby,Paperclip,Content Length,我需要包括上传到Web服务中的图像/png文件的内容长度 但是如何计算要包含在标题中的内容长度 谢谢 我正在使用rest客户端提交它 上传的Web服务是Postful:文档不清楚: 因为我正在编写有效负载和头,所以似乎需要输入该值 我还研究了postalmethods,它说内容长度是用户输入: 文件本身是.PNG。我将使用回形针将它们附加到模型上,因此将有一个文件路径 我需要发布内容长度的文件使用回形针存储为附件,因此具体的代码生成问题是: File.size(@postalcard.post

我需要包括上传到Web服务中的图像/png文件的内容长度

但是如何计算要包含在标题中的内容长度

谢谢

我正在使用rest客户端提交它

上传的Web服务是Postful:文档不清楚:

因为我正在编写有效负载和头,所以似乎需要输入该值

我还研究了postalmethods,它说内容长度是用户输入:

文件本身是.PNG。我将使用回形针将它们附加到模型上,因此将有一个文件路径

我需要发布内容长度的文件使用回形针存储为附件,因此具体的代码生成问题是:

File.size(@postalcard.postalimage.url)

嗯,你大概知道你是如何读取和发布数据的,所以你知道你发送了多少数据。这就是内容长度。如果您只是直接以二进制形式将其作为文章正文发送,那么它只是文件的长度。如果使用base-64编码,则内容长度将为((文件长度+2)/3)*4。如果它是在一个SOAP信封中等,你需要考虑到这一点


对于复杂的情况,一种方法是首先在内存中构建整个文章正文,设置内容长度,然后直接从内存复制到文章正文。

好的,您可以使用
File.size(filepath)
但您不太可能需要这样做-大多数发出HTTP请求的库都应该自动这样做-您使用的是哪个库?(或者,它是什么样的Web服务?

Hmm…可能是自动完成的,我使用的是rest客户端。Web服务是Postful的:文档也不清楚。我还研究了postalmethods,它说内容长度是用户输入:就我所见,该方法文档似乎没有提到内容长度,只是base64格式的文件数据本身。你认为它说你需要在哪里提供长度?它在标题中说我需要提供内容长度:(这是我用youtube api v3将thumnail上传到视频的方式。只是为了证明它可能是如何获得这样的大小…我应该使用File.size吗?如果它是SOAP信封,你是什么意思?我想这就是我试图弄清楚文档的原因(我补充了我的问题)因为Web服务不清楚……@Angela:看起来你没有信封或任何类似的东西——只有内容。所以只需要输入大小的长度。File.size听起来是正确的方式;我不是Ruby人,所以我不确定。