를 사용하여 JPG 파일을 보낼 수 있도록하고, 공공/images 폴더에없는 JPG 파일 다운로드하십시오 :제가 모두 표시 내 html.erb에서 다음 태그를 사용하고 SEND_DATA
<%= image_tag retrieve_photo_path(@photo) %>
<%= link_to "Download Photo", download_photo_path(@photo) %>
을 내 컨트롤러 코드는 다음과 같습니다 :
def retrieve
@photo = Photo.find(params[:id])
send_data File.read(@photo.abs_filepath), :type = "image/jpeg", :disposition => "inline"
end
def download
@photo = Photo.find(params[:id])
send_file @photo.abs_filepath, :type = "image/jpeg", :filename => @photo.filename
end
다운로드 링크는 완벽하게 작동하지만 이미지 태그에는 빨간색 x (깨진 이미지)가 표시됩니다. 내가 뭘 놓치고 있니? WinXP에서 InstantRails를 사용하고 Rails 2.3.4와 Ruby 1.8.6으로 업데이트했습니다.
는 "retreive"행동 요청에 대한 서버 로그 또는 출력을 확인합니다. 이 오류 메시지는 사용자가 쉽게 파악할 수있는 오류 메시지를 찾을 수 있습니다. – nicholaides
img 요청을 처리하기 위해 "www.mytestapp.com/photos/3/retrieve"라는 URL을 내 브라우저 (IE)에 직접 입력하면 빨간색 x 깨진 이미지가 표시되고 apache access.log에는 다음과 같은 내용이 있습니다 항목 : "GET/photos/3/HTTP/1.1 검색"304 0 상태 코드 304의 의미는 누구에게도 도움이 될 수 있습니까? – user206481
아파치 캐싱과 관련이있는 것처럼 보입니다.하지만 익숙하지 않습니다. 도와주세요! – user206481