7

私は Google App Engine プロジェクトに取り組んでいます。

私のアプリはローカルでは正しく動作していますが、画像ディレクトリに画像をアップロードしようとすると、appspot に表示されません。

ちょっとしたトラブルシューティングとして、"/images/page2.html" に HTML ページを配置し、appspot でそのページを読み込むことができますが、ページに画像が表示されません。だから、それは私の道の問題ではありません。

もう 1 つのサニティ チェックとして、.css コードを含むスタイル シート ディレクトリもアップロードしていますが、これは適切に読み取られています。

app.yaml ファイルに問題があるのではないかと疑っています。

何か案は?

すべてのコードをここに貼り付けたくはありませんが、重要な行の一部を以下に示します。最初の 2 つは正常に動作します。3番目は機能しません:

<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
4

5 に答える 5

4

画像やcssファイルなどの静的コンテンツ用にapp.yamlを設定する必要があります

例:

 url: /(.*\.(gif|png|jpg))
  static_files: static/\1
  upload: static/(.*\.(gif|png|jpg))

詳細については、 http://code.google.com/appengine/docs/configuringanapp.htmlをご覧ください。

于 2008-11-09T07:22:01.890 に答える
2

あなたの問題は、Windows を使用していることだと思います。

その場合、 static_dir 値の前にスラッシュが必要だと思います。

于 2008-10-03T02:53:45.137 に答える
1

JavaバージョンのAppEngineを使用していますが、サーバーが静止画像を提供できないという同様の問題に直面しました。

最終的に機能したのは、私の場合はAppEngine構成ファイル「appengine-web.xml」を変更して含むようにすることでした

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

私の画像は/imagesディレクトリにあり、HTMLとCSSはにあります。WEB-INFレベルのディレクトリ

于 2009-06-20T09:29:51.727 に答える
0
<img src="/images/img.gif">

この行では画像を表示できません。これを試してください:

1-「画像リクエスト」を処理するクラスを作成する

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

2-page.html で:

<img src="/image"

3-code.py のメイン関数で:

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

楽しんで

于 2008-10-17T04:24:13.687 に答える
0

@jamtoday 前のスラッシュは違いはありませんでしたが、ディレクトリ構造について各アプリに何を伝える必要があるかを理解し始めました。

したがって、追加する決定的なものは何もありませんが、フォローアップしたかったのです。機能したからです。ただし、機能した後にすべての問題を調査したわけではありません。

HwlloWorld/src/ ディレクトリからの作業を停止し、HelloWorld/ ディレクトリでの作業を開始することは、助けになった変更の 1 つです。dev_appserver はすべての依存関係を取得したようですが、リモート サーバーは取得しませんでした。基本的に、ローカル リンクの相対パスは、アップロード後のリンクの相対パスと一致しませんでした。

また、dev-appserver は .yaml ファイルと appcfg スクリプトに依存していることにも気付きました。あれは。. プロジェクトにディレクトリを追加し、そのディレクトリ内のファイルにリンクしようとする場合は、ディレクトリを .yaml ファイルに追加してから、dev-appserver を再起動してこれを取得する必要があります。

したがって、.yaml ファイルに適切な情報を指定すれば、私が最初にやろうとしていたことを処理する方法がおそらくありますが、別のディレクトリ構造に変更すると、ローカルで処理されました。

于 2008-10-08T14:59:43.143 に答える