我想上傳一個zip文件使用rails和回形針寶石,到目前爲止它工作正常。 但是下載完成後,我想解壓這個文件,並用裏面的文件做一些事情。Rails - 用回形針和unziping上傳zip文件
當我嘗試解壓文件時出現問題,因爲它不在它自己的路徑中,可能它正在被複制但沒有完成。 (我在本地主機,在線模式下更糟糕)。
所以,我需要某種事件/觸發器來知道文件何時完成上傳才能開始unziping。同時,展示某種界面。 這個控制器裏的代碼低於:
如果# POST /components
# POST /components.json
def create
@component = Component.new(params[:component])
file = @component.folder
Zip::ZipFile.open(file.path) do |zipfile| # <-- The error comes here
zipfile.each do |file|
# do something with file
end
end
respond_to do |format|
if @component.save
format.html { redirect_to @component, notice: 'Component was successfully created.' }
format.json { render json: @component, status: :created, location: @component }
else
format.html { render action: "new" }
format.json { render json: @component.errors, status: :unprocessable_entity }
end
end
end
[This blog post](http://lovehateubuntu.blogspot.com/2008/12/rails-and-processing-uploaded-zip-files.html)可能是相關的。簡而言之,您可能無法獲得您所期望的實際文件。 – mlt