2013-02-09 4 views
0

I는 다음과 같이 시작 사업부가 있습니다전환 배경 이미지

<div id="info_picture" style="background-image: url('assets/img/channels/banners/3')"></div> 

이 이미지에 대한 파일 확장자가 사용자가 업로드 할 수 없습니다, 그리고 내가 돈 이유 ' 데이터베이스에 확장을 저장하려고합니다 (또는 하나의 이미지 형식 만 사용하도록합니다).

info_picture.style.backgroundImage = "url('assets/img/channels/banners/"+channel+"')"; 

그러나, 요소를 검사에 배경 이미지 스타일이 절대 경로보다는 내가 스크립트에 지정된 상대 경로로 표시 :이 배경 이미지를 변경 자바 스크립트의 라인을 가지고있다. 이는 확장이 없으므로 응용 프로그램/옥텟 스트림으로 전송되기 때문에 문제가됩니다. 그런 다음 크롬이 경고를 표시하고 이미지가 표시되지 않습니다. 절대 경로가 아닌 상대 경로를로드하도록하려면 어떻게해야합니까?

답변

1

내 직감은 자바 스크립트 문제 또는 브라우저 문제가 아니라고합니다.

문제는 실제 파일에있을 수 있으며 파일의 MIME 유형은 실제로 application/octet-stream입니다.

내가 당신이라면,

  1. 나는 이미지를 제공하기 위해 자산 디렉토리를 사용하지 않을 것입니다. 내 선택은 공개/이미지 디렉토리 일 것입니다. 자산은 동적 파일이 아니라 정적 파일을위한 것입니다.

  2. 이미지가 확장명이없는 서버에서 제공되는 경우 레일을 사용하는 것으로 추측하여 컨트롤러를 통해 mime 유형을 적절히 설정하여 응용 프로그램의 이미지를 제공합니다.

0

나는 당신의 폴더 구조를 모른다, 그러나 당신은 당신이 당신이 코드를 실행 장소에서 이동하는 상대적 할 모든 폴더에 대해 "../"를 사용할 수 있습니다

시도를 :.

info_picture.style.backgroundImage = "url('../assets/img/channels/banners/"+channel+"')"; 

경로가 어떻게 바뀌는 지 확인하십시오.