2

使用以下命令将文件保存到公共/数据:

def upload_vault_data        
    if params[:dump][:file]
        uploaded_io = params[:dump][:file]
        File.open(Rails.root.join('public', 'data', "data_#{session[:campaign_id]}_#{uploaded_io.original_filename}"), 'w') do |file|
            file.write(uploaded_io.read)
        end
    end
end

这按预期工作,但是如何让用户在文件上传后删除文件?

4

3 回答 3

6

Rails 允许您使用称为“系统”的方法执行系统命令。

例如。

system 'ls'

更多信息:使用 Ruby on Rails 执行脚本?

在你的情况下,你可能会做一个

system "rm #{path-to-my-file}"
于 2012-10-06T08:46:56.100 回答
2

我建议考虑使用诸如蜻蜓回形针或载波波之类的东西来处理应用程序中的文件上传,而不是手动编码。

于 2012-10-06T08:45:45.427 回答
2

要使用 rails 删除文件,请使用

File.delete("文件路径").

于 2012-10-06T10:22:28.983 回答