문제

Rails 앱에 업로드 한 zip 파일 내에서 파일을 추출하고 싶습니다. ZIP 파일 내의 파일은 데이터베이스에 저장됩니다.

먼저 파일을 폴더에 저장하지 않고도 Zip 파일을 열고 싶습니다. Rubyzip으로 multipart/form -data 스트림을 열고 싶습니다.

Rubyzip의 Zipfile처럼 보입니다. OPEN은 IO 스트림이 아닌 파일 이름 만 가져갑니다.

Zip 파일을 스트림으로 열 수 있도록 Rubyzip 내에서 무엇을 변경해야합니까?

Zip::ZipFile.open(params["zip_file"]) do |zip_file|
 ...
end

감사. 조그

도움이 되었습니까?

해결책

사용

Zip::ZipFile.open(params["zip_file"].path) do |zip_file|
 ...
end

작동해야합니다.

다른 팁

나는 당신이 요구하지 않은 조언을 드릴 것입니다.

나는 당신이 당신의 행동 내 에서이 작업을 수행하지 않는다고 강력히 권고합니다. 왜냐하면 그것은 추출을 수행하는 데 걸리는 한 HTTP 요청과 관련된 레일 프로세스를 차단하기 때문입니다. 해당 사용자에 대한 UI가 응답하지 않으며 충분한 사용자가 동시에이 작업을 수행하면 (파일 업로드 크기를 제한하고 있습니까?) 서비스 거부 응용 프로그램에 대한 공격.

  • 행동 내에서 비동기 배경 작업으로 추출을 시작하십시오.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top