我使用以下代码在Rails中发送文件.
if File.exist?(file_path) send_file(file_path, type: 'text/excel') File.delete(file_path) end
在这里,我试图发送文件,并在成功发送后从服务器中删除该文件.但我面临的问题是,删除操作是在发送执行时执行的,因为我在浏览器中看不到任何内容.
所以在Rails中有任何方法,一旦send_file操作完成,从服务器删除文件.
任何有关这方面的帮助将受到高度赞赏.
谢谢,
Chetan
我的rails应用程序在Ubuntu服务器计算机上运行.
我需要创建临时文件,以便将它们"提供"给第二个独立的应用程序(如果需要此信息,我将使用rake任务)
我的问题是:在rails应用程序上创建临时字段的最佳方法是什么?
因为我在ubuntu,我可以创建它们/tmp/whatever,但什么只能在linux中工作.
我希望我的应用程序尽可能便携 - 因此如果需要,它可以安装在Windows机器和Mac上.
有任何想法吗?
非常感谢.
我正在file.txt使用我的Rails控制器发送文件send_file,然后删除包含它的文件夹.
send_file("#{Rails.root}/public/folder/file.txt")
FileUtils.remove_dir "#{Rails.root}/public/folder", true
Run Code Online (Sandbox Code Playgroud)
当我这样做时,file.txt被发送和删除.但是,folder没有被删除.但如果我删除该send_file行,folder则将被删除.
如何删除它folder?
编辑:有趣的是,我发现里面folder有一个隐藏文件.__afs2B0C,可能会阻止删除.我不知道这个文件是如何创建的!该文件仅在大约15分钟后才会消失.
EDIT2:我试过检查临时文件的内容vi,但这是不可读的乱码.当我只删除该send_file行时,该文件夹被正确删除.当我只删除该FileUtils.remove_dir行时,该文件夹不包含临时文件.