文件是存在七牛上的,link_to file.name, file.url
link_to file.name, file.url
csv 文件在 chrome 上点击链接是下载,而 safari 是直接打开
mp4 文件在两个浏览器上都是直接打开的
有没有什么方法可以在点击链接的时候自动下载,而不是直接在浏览器里打开文件呢?
不管是用 send_file, 还是 H5 的 download tag,文件都必须得是存在自己服务器上,domain 也是自己的才行吧
https://stackoverflow.com/questions/6756416/rails-link-to-to-download-an-image-immediately-instead-of-opening-it-in-the-br/34257689
https://stackoverflow.com/questions/49736214/force-a-download-to-download-image-instead-of-opening-url-link-to-image
try http://xxx.qiniudn.com/your.jpg?attname=download.jpg
see also
https://developer.qiniu.com/kodo/manual/1659/download-setting
十分感谢,问题解决了。嗯,我思路错了,应该去看看七牛的文档
如果是存储到本地的话,可以加上 download tag 或者 sendfile,如果是七牛的链接加上 attname 参数。按照七牛的文档,如果 attname=后面不写文件名的话会按照存储的原文件名保存,但是我试下来,有时候会导致不会直接下载。如果需要统计用户下载的行为的话,可以把 url 指向自己网站的链接如 "files/visit?url=[七牛的文件下载链接]",对应的 action 可以进行统计,最后 302 重定向到七牛的文件下载链接就行了。