我想上傳一個文件在rails(使用回形針),我想處理一些文件數據,然後讓回形針將它發送到s3存儲。在我的控制,我只是抓住了文件參數(這確實給我一個文件),然後我嘗試將線讀取到一個數組用回形針上傳文件之前讀取文件行
csv_file = params[:activity][:data]
array = IO.readlines(csv_file.path)
的問題是,我只得到的最後一行文件。我嘗試使用.rewind,但仍然只是最後一行。
我想上傳一個文件在rails(使用回形針),我想處理一些文件數據,然後讓回形針將它發送到s3存儲。在我的控制,我只是抓住了文件參數(這確實給我一個文件),然後我嘗試將線讀取到一個數組用回形針上傳文件之前讀取文件行
csv_file = params[:activity][:data]
array = IO.readlines(csv_file.path)
的問題是,我只得到的最後一行文件。我嘗試使用.rewind,但仍然只是最後一行。
我不喜歡readlines,我總是使用正則表達式。嘗試這個。行 完 - \ n
方便的塊結構,以確保文件句柄關閉:
File.open(csv_file.path) do |f|
a = f.readlines
process a...
end
讀取整個文件到內存中可能不是取決於文件的大小是一個好主意。
謝謝,但同樣的問題仍然存在 - a [0]給了我文件的最後一行,而[1]什麼都不返回。我猜測它與回形針有關:/ – 2011-06-13 16:17:16