中阅读
在 @attachment
中具有文件。来自Debug:
"datafile"=>#<ActionDispatch::Http::UploadedFile:0x3eee9c0 @original_filename="filename.jpg",
@content_type="image/jpeg",
@headers="Content-Disposition: form-data; name="datafile"; filename="filename.jpg"rnContent-Type: image/jpegrn",
@tempfile=#<File:C:/Users/.../RackMultipart20121026-2452-g369hf>>,
它是通过用户表格上传的。
我正在尝试将其附加到电子邮件:
...
attachments[@attachment.original_filename] = @attachment
mail(:to => "email@email.com", :subject => "test", :from => @fromaddress)
哪些错误:
#
的未定义方法`长度'
我也尝试了
attachments[@attachment.original_filename] = @attachment.tempfile
哪些错误:
undefined method `[]' for #<Tempfile:0x5629e48>
@attachment.original_filename
返回适当的文件名(示例中的" filename.jpg")
有什么明显的?
,除非将上传的文件保存到某个地方,否则它有限,您可以使用它(出于安全原因 - 您应该验证上传并存储文件)。
但是您应该能够read
文件:
attachments[@attachment.original_filename] = @attachment.read
注意:我没有测试过,也许您需要从@attachment.tempfile