2008-10-02 3 views
7

Google 앱 엔진 프로젝트에서 일하고 있습니다.Google 앱 엔진과 함께 이미지 업로드 중입니까?

내 앱이 제대로 작동하고 있지만 로컬에서 올바르게 보이지만 이미지 디렉토리에 이미지를 업로드하려고하면 appspot에 표시되지 않습니다.

약간의 문제 해결으로 "/images/page2.html"에 html 페이지를 넣었습니다. appspot에서 해당 페이지를로드 할 수 있지만 내 페이지에는 내 이미지가 표시되지 않습니다. 그래서, 그것은 내 길에 문제가되지 않습니다.

또 다른 위법성 검사로 .css 코드가있는 스타일 시트 디렉토리를 업로드하고 있는데 제대로 읽히고 있습니다.

나는 내 yaml 파일에 문제가 있다는 의혹을 가지고 있습니다.

아이디어가 있으십니까?

여기에 모든 코드를 붙여 넣지는 않겠지 만 여기에는 몇 가지 주요 줄이 있습니다. 처음 두 개는 잘 작동합니다. 세 번째는 작동하지 않습니다.

<link type="text/css" rel="stylesheet" href="/stylesheets/style.css" /> 
<a href="/images/Page2.html">Page 2</a> 
<img src="/images/img.gif"> 

이 내 app.yaml을 파일

application: myApp 
version: 1 
runtime: python 
api_version: 1 

handlers: 
- url: /stylesheets 
    static_dir: stylesheets 

- url: /images 
    static_dir: images 

- url: /.* 
    script: helloworld.py 
+0

안녕하세요, 문제를 해결하셨습니까? 어떻게 해결했는지 공유 할 마음이 있으십니까? – GMsoF

답변

2

내가 문제를 내기 할 것이다 당신이 Windows를 사용하는 것입니다.

그럴 경우 static_dir 값에 선행 슬래시가 필요합니다.

+0

이제 재미 있습니다. 방금 일을 시작했는데 이제는 집에 가서 이걸 시험해보고 싶습니다. 업데이트로 확인해 드리겠습니다 (월요일이 될 수도 있음). 사실, 내가 어딘가에서 간과했을지도 모르는 이야기에 대한 문서가 있습니까? – Baltimark

0

@jamtoday 위의 슬래시는 차이를 만들지 않았지만 각 응용 프로그램에서 내 디렉토리 구조에 대해 무엇을 말해야하는지 파악하기 시작했습니다.

그래서 추가 할 내용이 없지만 후속 작업을하고 싶었습니다. 왜냐하면 제대로 작동했기 때문에 후속 작업을하고 싶었지만 작동 후 모든 문제를 조사하지는 않았습니다.

HwlloWorld/src/디렉토리에서 작업을 중단하고 HelloWorld/디렉토리에서 작업하는 것이 도움이 된 한 가지 변경 사항. dev_appserver가 모든 종속성을 선택했지만 원격 서버가 그렇지 않은 것처럼 보입니다. 기본적으로 내 로컬 링크의 상대 경로가 업로드 후 링크의 상대 경로와 일치하지 않습니다.

또한 dev-appserver는 .yaml 파일과 appcfg 스크립트에 의존한다는 것을 알았습니다. 그건. . . 디렉토리를 프로젝트에 추가 한 다음 해당 디렉토리의 파일에 연결하려고하면 디렉토리를 .yaml 파일에 추가 한 다음 dev-appserver를 다시 시작하여이 디렉토리를 선택해야합니다.

그래서 .yaml 파일에 올바른 정보를 제공하지만 원래 다른 디렉토리 구조로 변경하면 로컬로 처리하기 때문에 원래 의도했던 것을 처리 할 수있는 방법이 있습니다.

0
<img src="/images/img.gif"> 

이 줄에는 이미지가 표시 될 수 없습니다. 보십시오이 하나

1 작성하여 page.html에서 2 "이미지 요청"을 처리하는 클래스

class GetImage(webapp.RequestHandler): 
     def get(self): 
     self.response.headers['Content-Type'] = 'image/jpg' 
     self.response.out.write(image_object) 

을 : 주요 기능에서 3

<img src="/image" 

당신의 암호.평 :

application = webapp.WSGIApplication(('/image', GetImage), debug=True) 

이 가진 재미

당신은 이미지 및 CSS 파일과 같은 정적 콘텐츠에 대한 애플리케이션 제목을 구성해야
+0

"2"가 완전히 쓰여졌습니까? 일반적인 GetImage 클래스를 만드는 것처럼 보이지만 실제 이미지를 어디에 말해야합니까? 한 곳에서 "image1.jpg", 다른 곳에서 "image2.jpg"를 표시하려면 어떻게해야합니까? html 호출은 무엇입니까? – Baltimark

1

자바 버전을 사용하고 있습니다. 애플 리케이션 엔진의, 그리고 정적 이미지를 제공 할 수없는 서버와 비슷한 문제에 직면했다. 궁극적으로 일을 무엇

<static-files> 
<include path="**.*"/> 
    <include path="/images/**.*" /> 
</static-files> 

내 이미지에있는/images 디렉토리 및 HTML과 CSS에 포함 내 경우에는 AppEngine에 설정 파일 "에서 appengine-web.xml을"로 변경했다. 디렉토리가 WEB-INF 레벨에 있음

관련 문제