我正在开发一个rails应用程序并使用ActionMailer向用户发送电子邮件。我知道如何在每封电子邮件中包含附件。但我想知道是否可以在邮件程序视图中提供一个按钮,明确下载特定附件作为用户界面改进。
更新
老实说我忘了提到一些重要的事情。我需要构建以便从电子邮件中下载文件的最终端点需要通过授权标头进行身份验证,并且它的值是使用base64的编码令牌。我不知道在电子邮件中发送此令牌是否存在漏洞。
答案 0 :(得分:0)
不确定。该按钮可以链接到rails应用程序中的控制器操作,该操作将文件发送给用户,就像用户在您的应用程序中浏览时单击下载一样。
答案 1 :(得分:0)
在route.rb
get "controller/action" , as: :download
在邮件程序视图中添加此
<%= link_to "DOWNLOAD", download_path %>
控制器中的执行类似
的操作def download
send_file 'path_to_your_file',:type=>"application/extension_of_your_file", :x_sendfile=>true
end
其他方式
您只需将文件放在公共文件夹中,然后在邮件程序视图中输入要下载的链接,如:
<%= link_to 'name of button', 'http:// your_website / your_file_name' %>
下次确保在您的问题中添加一些代码,说明您尝试过的内容或计划实现的问题。