在Rails中下载文件并进行错误处理

时间:2019-07-06 18:38:02

标签: ruby-on-rails file download

我需要从URL提取并下载文件。用户应输入此URL,系统应下载该文件。我需要一个标准的方法来处理错误。

现在这是我的代码:

@dl = IO.copy_stream( open( params[:url] ), 'file.txt' )
if( @dl )
    render json: {:status => true, :message => 'downloaded.'}
else
    render json: {:status => true, :message => 'downloaded.'}
end

什么是最佳实践以及如何处理错误?我通常要下载的文件约为100KB。

1 个答案:

答案 0 :(得分:0)

您需要在此处做些事情:

1 /使用强大的参数

2 /您在用户输入中使用Kernel#open会带来巨大的安全风险。不要那样做。

3 /非常确定您想要的是ActiveStorage之类的东西