我需要将Outlook EWS电子邮件及其附件转发到Rails服务器。

我随Viewpoint gem获得的附件以Viewpoint::EWS::Types::FileAttachment对象的形式返回。

如何使用rest-client库将这些附件传递到Rails服务器?

#1楼 票数:0

我设法通过使用StringIO并给它一个:path来上传文件

# email is a Viewpoint::EWS::Types::Message
# email_endpoint is a RestClient::Resource

attachments = email.attachments.map do |attachment|
  file = StringIO.new(Base64.decode64(attachment.content))
  file.class.class_eval { attr_accessor :original_filename, :content_type, :path }
  file.original_filename = attachment.file_name
  file.content_type = attachment.content_type
  file
end

response = email_endpoint.post(
  email: {
    subject: email.subject,
    attachments: attachments
  }
)

rest-client库将自动处理响应:path:read作为文件的对象,并使用分段上传。

然后,每个附件在Rails中显示为具有正确文件名的ActionDispatch::Http::UploadedFile

  ask by Tim K translate from so

未解决问题?本站智能推荐:

1回复

无法通过EWS访问委派/模拟的共享邮箱

我正在尝试通过EWS使用全局管理员帐户凭据获取邮箱文件夹。 我正在将以下ruby脚本与Perspective gem一起使用。 我已经为所有邮箱创建了必需的权限和模拟。 访问共享邮箱时出现问题。 我可以使用相同的脚本访问用户邮箱文件夹。 当我尝试上述脚本来获取共享邮箱文件夹时,出现
1回复

使用vcr存根ViewPointgem返回来自ewsAPI的未授权响应

我正在处理通过ViewPoint gem 的所有请求。 使用vcr gem 。 connection.client返回一个新的ViewPoint连接。 我从 gem 得到的响应是: Viewpoint::EWS::Errors::UnauthorizedResponseError相当于来自 ews
1回复

使用REST_CLIENT发出请求,等同于curl请求

我正在尝试使用rest_client发出该curl请求,但我一直弄错了。 我该怎么做? curl request:它运作良好,并从yahoo返回了访问令牌。 我正在尝试进行的rest_client请求是: 或这一个: 在此先感谢您提供的任何帮助或建议,甚至还有更好的解决方案。
1回复

使用rest-client上传文件

型号.. 获取错误 Errno::ENOENT(没有这样的文件或目录 - C:/projects/test_project/client_documents/0000/0012/A100-bal.csv): 但是文件夹中有文件... 有什么想法吗? 这段代码有什么问题? 我需要为rest-clien
2回复

如何使用rest-clientgem发送标头和cookie

在代码我试图在下面相同的请求中发送标题和cookie是代码 我收到以下错误消息
1回复

REST客户端和外来字符

如何在REST Client中处理外来字符? 即: 不幸在Ruby on Rails中返回了: 该URL在浏览器中工作正常。
1回复

Rest-ClientRubyGemHeaders

我正在尝试使用rest-client gem发布一些东西,但由于某种原因,我不断收到内部服务器错误。 我在Chrome上使用了Simple REST Client,除非我发送了以下标题,否则会出现同样的错误: 所以我正在尝试使用post请求发送该标头,但由于某种原因,它仍然无法正常工作。
2回复

REST客户端回调:如何判断项目何时完成加载?

我正在尝试使用REST Client和DelayedJob从此外部API加载一些项目。 但是,与Ajax使用route检查数据库更改不同,这些项不会保存到数据库中,而是直接进入视图-因此我如何知道它们何时完成加载,以便可以使用以下命令将其加载到客户端中阿贾克斯? 您可以即时运行的实时应用