我可以成功接收来自 SendGrid 的电子邮件并处理其数据。我的问题是电子邮件附件。
当我查看每个附件发布的内容时,我会得到以下内容:
"attachment12"=>#<ActionDispatch::Http::UploadedFile:0x00000008a793f8
@original_filename="image036.png",
@content_type="image/png",
@headers="Content-Disposition: form-data;
name=\"attachment12\";
filename=\"image036.png\"\r\n
Content-Type: image/png\r\n",
@tempfile=#<File:/tmp/RackMultipart20120620-35076-1xav4k1>
>
而不是
Array
(
[attachment1] => Array
(
[name] => Upload.csv
[type] => text/csv
[tmp_name] => /tmp/phpo34iHI
[error] => 0
[size] => 76
)
)
在显示的 Parse API 中引用了在此处输入链接描述 显然,Rails 一如既往地优雅。
但是,我的问题是:
- 文件在哪里,它们在哪里下载?我找不到他们(如果发生这种情况我会担心)
我实际上正在阅读 ActionDispatch::Http::UploadedFile,根据我应该能够执行 params['attachment12'].read 的文档
我将发布我的发现
- 生产是 Heroku,所以我需要将文件粘贴在某种容器中,如 DB、Mongo 或 S3
- 我猜该文件实际上是在 sendgrid 但他们的支持不理解我的问题并将我恢复为解析 api!可能有一个 URL,但在他们的支持下我无法深入了解它。很遗憾。