2016-07-21 16 views
0

Google App Engineで現在、ユーザーがビデオをアップロードできるアプリをローカルで開発しています。私はGoogle Cloud Storageライブラリをセットアップし、読み取りアクセス権を公開するように設定しました。 、あなたはURL経由でファイルにアクセスできるのdevのサーバーでGoogle App Engine - Google Cloud StorageからのビデオURLの提供Chromeのエラー

http://localhost:8080/_ah/gcs/bucket/filename

私は、ビデオのHTMLタグ内のファイルを提供しようとしているが、それはChromeでエラーが発生。メッセージが表示されます。リソースの読み込みに失敗しました:サーバーが500のステータス(内部サーバーエラー)で応答しました。サーバーコンソールにファイルの要求が失敗したことが示されます。

これはChromeでのみ発生し、他のブラウザで正常に動作します。

なぜこれが起こっているのでしょうか?デバッグするのは少し難しいです。

+0

すべてのリクエストはクラウドストレージに直接送られるため、サーバーログには何も表示されません。なぜサーバーが関与しているのですか? –

+0

@Andrei Volgin私は確信していません。私は単純にビデオタグのsrc値としてURLを入力しました。サーバログは以下の通りです: '/_ah/gcs/app_default_bucket/5733953138851840/user/IMG_2551.mp4に失敗しました ' ' default: "GET /_ah/gcs/app_default_bucket/5733953138851840/user/IMG_2551.mp4 HTTP/1.1 "500' – JK140

答えて

0

クラウドストレージオブジェクトにつながるURLを使用する必要があります。次のようになります。

https://storage.googleapis.com/YOUR_BUCKET/YOUR_OBJECT 

デフォルトのアプリケーションバケットの名前を取得するには、コンソールを参照してください。通常、アプリIDと同じです。

+0

私は今devのサーバーでテストしています。 devサーバーでは、URLは次のとおりです。http:// localhost:8080/_ah/gcs/bucket/filename' このURLは、Chrome以外のすべてのブラウザで機能します。 – JK140

+0

ドキュメントを読む:https://cloud.google.com/storage/docs/access-public-data –

+0

私はドキュメントを読んでいます。 'x-goog-acl'を' public-read'に設定しているので、ドキュメントで参照されているCloud Storage APIを使用していると思います。パブリックURLは 'https:// storage.googleapis.com/YOUR_BUCKET/YOUR_OBJECT'でアクセスできますが、dev:これは' http:// localhost:8080/_ah/gcs/bucket/filename'からアクセスできます。私が言ったように、リンクは他のブラウザでも働いていましたが、Chromeではうまく機能しませんでした。 私はあなたの助けに感謝します! – JK140

関連する問題