gpt4 book ai didi

ruby-on-rails - 无模型的 Carrierwave 临时文件

转载 作者:行者123 更新时间:2023-12-03 15:59:45 24 4
gpt4 key购买 nike

对于最近上传的未链接到任何模型的文件,我需要能够将文件附加到邮件(使用 Mailer)。

在上传表单的代码中:

<%= form_for(:mail, :url => {:action => 'send_mail'}, :html => {:multipart => true}) do |f| %>
<table summary="send_table">
<tr>
<th>Attachment</th>
<td><%= f.file_field(:attachment) %><a id="attachment"></a></td>
</tr>
</table>

<%= submit_tag "Send!" %>

现在,我正在考虑在 send_mail 操作中执行以下操作:
MyMailer.send_mail(params[:mail][:attachment]).deliver 

params[:mail][:attachment] 是使用表单上传的临时文件的路径。怎么能这样呢?

这也暗示了另一个问题:发送邮件后,我是否应该从临时文件中手动删除文件?如果是,如何?

最佳答案

从评论中复制答案以从“未回答”过滤器中删除此问题:

终于搞定了:

unless (params[:mail][:attachment]).nil?
uploader = AttachmentUploader.new
uploader.cache!(params[:mail][:attachment])
@file_name = uploader.filename
@file_data = uploader.file.read()
end

进而
MyMailer.send_mail(@file_name,@file_data)

~ 每人回答 user1563325

关于ruby-on-rails - 无模型的 Carrierwave 临时文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12315977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com