4
我目前允許用戶上傳CSV文件,處理它們,根據內容保存數據庫條目,然後不得不返回並清理CSV。我想知道是否可以上傳,並通過將CSV保存在內存中進行處理而不觸及磁盤?上傳CSV並使用Paperclip處理而不保存CSV
How do I tell paperclip to not save the original file?
...似乎表明,離開場關閉遷移將做到這一點,但我沒有運氣使用這種方法。有任何想法嗎?
我目前允許用戶上傳CSV文件,處理它們,根據內容保存數據庫條目,然後不得不返回並清理CSV。我想知道是否可以上傳,並通過將CSV保存在內存中進行處理而不觸及磁盤?上傳CSV並使用Paperclip處理而不保存CSV
How do I tell paperclip to not save the original file?
...似乎表明,離開場關閉遷移將做到這一點,但我沒有運氣使用這種方法。有任何想法嗎?
回形針的整點是來保存文件。您可以將以下內容作爲您的操作,並完全避免使用回形針。
def upload
CSV.parse(params[:file].read) do |row|
# do whatever you need to do with the row
end
end
用這樣的形式:
<%= form_tag('/path/to/upload') do %>
<%= file_field_tag :file %>
<%= submit_tag %>
<% end %>
這就是一個很好的點。主要是使用回形針,因爲它給了我一堆幫手來檢查mimetypes,文件大小等。 –