Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Rails中使用上载的文件_Ruby On Rails_Ruby_File_Upload - Fatal编程技术网

Ruby on rails 在Rails中使用上载的文件

Ruby on rails 在Rails中使用上载的文件,ruby-on-rails,ruby,file,upload,Ruby On Rails,Ruby,File,Upload,我允许用户在Rails中将文件上载到我的网站 <div id="file_upload"> <input type="file" name="user_file"> </div> 应该用什么来代替**filename**?您可以这样做,假设您更喜欢这个选项,而不是评论中提到的其他选项 File.open("tmp/filename.ext", "w") do |f| f.write(params[:file].read) end system("wg

我允许用户在Rails中将文件上载到我的网站

<div id="file_upload">
  <input type="file" name="user_file">
</div>

应该用什么来代替
**filename**

您可以这样做,假设您更喜欢这个选项,而不是评论中提到的其他选项

File.open("tmp/filename.ext", "w") do |f|
 f.write(params[:file].read)
end

system("wget", "-i", "tmp/filename.ext")

首先,您需要确保表单标记具有enctype=“multipart/form data”-否则将无法工作

在控制器中,您可以访问类似以下内容的文件

@filename = params[:user_file].original_filename
@file_data = params[:user_file].read

我建议carrierwave在rails应用程序()中进行文件上传。。。这似乎不是一个好办法。您还可以给filepicker.io一个机会。可能适合你的需要。对不起,为什么我的方式不好?有什么不好的地方吗?这取决于你打算如何处理这些文件,以及你想如何在你的应用程序中使用它们。它们是否会存储在服务器上,它们将如何与您的模型关联,您是否希望将它们放在云中存储,例如s3。我想这只是文件上传对于很多网络应用来说是一种谋生之道,所以不要重新发明轮子。看看已经做了什么,像上面提到的和其他很多,然后选择一个适合你需要的。如果你想,自己做也没什么错。@cih是的,我只想把它传递给
系统
命令,仅此而已。所以我不想使用任何额外的。。。
@filename = params[:user_file].original_filename
@file_data = params[:user_file].read