提问人:Mohammad Yusuf 提问时间:6/12/2023 最后编辑:Mohammad Yusuf 更新时间:6/14/2023 访问量:117
在导轨中显示控制器的图像
Show image from controller in rails
问:
我正在视图中显示图像,使用该图像工作正常。<%= image_tag(@staff.attachment_url(@staff.image), alt: "No image", width: "100px", height: "100px") %>
这是每次打开图像时创建动态 url 的方法,并且此图像仅在 30 秒内有效,30 秒后,当您刷新或打开相同的 url 时,它将显示 。attachment_url
i.e. staff_profiles/images/b64f8b457dddf968712401bf07a8d08ba7f1ce3a326598ec2144f1c995309e06
Access denied
这里的一切都很好。
像这张图片一样,我有其他附件可以通过下载链接下载/查看。当任何用户打开页面时,此attachment_url在页面加载/显示方法时调用,但在 30 秒后,此下载链接过期,当用户单击该链接时,它显示 。我想在页面加载 1 分钟或 5 分钟或 10 分钟后调用用户单击下载链接。Access Denied
attachment_url
所以我需要打开图像或从控制器创建下载链接 url,不像上面提到的那样,还想使用上面给出的方法,这将有助于创建动态 url。attachment_url
谢谢
答:
0赞
Arty.Simon
6/14/2023
#1
显示控制器操作的图像。您可以使用send_file。
# in your controller
def attachment_link
# logic to build dynamic URL
image_url = @staff.attachment_url(@staff.image)
# type: add the correct file content type
# disposition: 'inline' will display file in browser
send_file image_url, type: "image/png", disposition: "inline"
end
评论
0赞
Mohammad Yusuf
6/14/2023
我试过这个,但我遇到错误对我有用谢谢Cannot read file https://xxxx-development.s3-ap-southeast-2.amazonaws.com.....
redirect_to image_url
0赞
Mohammad Yusuf
6/14/2023
#2
def attachment_link
# logic to build dynamic URL
image_url = @staff.attachment_url(@staff.image)
redirect_to image_url
end
在上面的控制器中对我有用
评论
redirect_to <temporary_url>
ImageController
show