파일 업로드/다운로드가 필요한 Ruby on Rails 응용 프로그램을 개발 중입니다. 업로드 부분에 대해서는 매우 사용하기 쉽고 유연하기 때문에 보석 캐리어 웨이브를 사용했습니다. 문제는 다음과 같습니다. 일단 파일을 업로드하면 몇 가지 사항을 알아야합니다. 즉, 파일을 다운로드하는 대신 pdf이고 파일을 인라인으로 표시하고 이미지는 동일하게 표시됩니다. 어떻게하면 파일 확장자을 얻고 어떻게 할 수 있습니까? 은을 사용자에게 보내시겠습니까 ?? 어떤 피드백이라도 고맙습니다 !!Carrierwave 파일 확장자를 얻는 방법
12
A
답변
30
파일 확장자를 결정합니다 (I 장착 업 로더의 이름은 '파일'가정하자) .
그리고 파일 전송 : 회신에 대한
send_file file, :type => mime, :disposition => disposition
2
파일을 업로드하면 이름이 데이터베이스에 저장됩니다. 여기에는 확장이 포함됩니다.
파일 당신이user.asset_url
를 호출하는 경우 사용자에게 전송하기에 관해서는, 그것은 당신에게 URL을 줄 것입니다
user.asset.file.extension
여기서 당신이 asset
으로 장착 된 업 로더와 User
모델이 가정에, 당신은 그것을 얻을 수 업로드되었습니다. 사용자는 해당 링크를 사용하여 파일을 가져올 수 있습니다. 또는 "파일을 사용자에게 보내십시오"라는 의미를 오해하고 있습니까?
file = my_model.file.url
extension = my_model.file.file.extension.downcase
그런 다음 마임 및 폐기를 준비 바르 :
는disposition = 'attachment'
mime = MIME::Types.type_for(file).first.content_type
if %w{jpg png jpg gif bmp}.include?(extension) or extension == "pdf"
disposition = 'inline'
end
(당신이 원하는 경우 다른 확장을 추가)
관련 문제
- 1. URL에 확장자가없는 온라인 파일의 파일 확장자를 얻는 방법
- 2. 쉘 스크립트에서 파일의 확장자를 얻는 방법
- 3. Carrierwave 파일 업로드
- 4. FileUpload는 파일 확장자를 가져옵니다.
- 5. 파일 이름 확장자를 "."
- 6. 엑셀 기본 파일 확장자를 찾는 방법
- 7. Grails : URL 매핑 - 파일 확장자를 전달하는 방법?
- 8. Carrierwave - 문자열에서 파일 업로드 "업로드"
- 9. Carrierwave 임시 파일 모델 없음
- 10. Carrierwave 멀티 파일 (사진) 업로드
- 11. 레일스 애플리케이션의 URI에서 파일 확장명을 얻는 방법
- 12. 실제 경로를 숨기는 방법 Carrierwave
- 13. MongoDB, Carrierwave, GridFS 및 파일 복제 방지
- 14. 안드로이드는 3g2 파일 확장자를 지원합니까?
- 15. 특정 파일 확장자를 삭제하는 Python
- 16. Java에서 파일 확장자를 가져 오기
- 17. .cpp, v 확장자를 가진 파일
- 18. 테마 작성기의 파일 확장자를 생성하십시오.
- 19. (기본 이름?) 파일 확장자를 받기
- 20. 파일 확장자를 순차적으로 이름 바꾸기
- 21. 레일 3 파일 업로드 Carrierwave 및 Formtastic
- 22. Codeigniter 여러 파일 업로드가 파일 확장자를 mess습니다
- 23. .pc 확장자를 인식하는 방법
- 24. 파일 이름을 얻는 방법
- 25. Neo4J.rb & Carrierwave-neo4j - 파일 업로드 오류
- 26. Carrierwave - 파일 확장자가없는 원격 이미지 URL에서 업로드
- 27. 피드 싱글 .jpg 파일 true carrierwave?
- 28. MVC 라우팅에서 특정 파일 확장자를 모두 무시하는 방법
- 29. gedit (windows 버전)에 파일 확장자를 추가하는 방법
- 30. 디렉토리에서 파일 이름 및 확장자를 가져 오는 방법
대단히 고마워, 나는 당신의 해결책의 스타일을 좋아한다. 그리고 그것은 완벽하게 작동했다. 다시 답장을 보내 주셔서 감사합니다 !! – Wiggin
정확히 레일 프로젝트 파일에서 처분 및 MIME 유형 vars를 배치하는 위치는 어디입니까? – maumercado