2017-08-18 3 views
0

Firebase Hostingを使用してAngularJSアプリケーションをホストしています。私はng-file-uploadを使用して、自分のアプリケーションに既にあるフォームからユーザーがアップロードしたイメージを取得しています。ユーザーがアップロードしたイメージを自分のFirebase Hosting上のフォルダに保存します。プラットフォームのさまざまな部分でイメージリソースへの事前定義された直接リンクが必要なため、Firebase Storageを使用することはできません。 firebase関数を使ってファイルをアップロードし、それをFirebase Hostingに保存することができたと思っていました。私はクロスオリジンエラーに走り続けます。AngularJSアプリケーションからFirebaseホスティングにファイルをアップロードするには

誰かがFirebase機能をどのように構築するのか説明して、Firebase Hostingに画像をアップロードできますか?私が理解しているところでは、Firebase機能はFirebase Hostingの他のコンテンツと同じ場所にホストされていませんが、これが違いを生むかどうかはわかりません。

答えて

0

Firebaseホスティングは、バージョン管理された静的コンテンツ専用です。 Firebaseのクラウドストレージは間違いなくあなたにとって最適な製品です。 「あらかじめ決められた直接リンク」が必要だと言ったら、アップロードが完了する前にURLを知る必要があるということですか?そうでない場合は、Firebase Cloud Storage SDKでgetDownloadURL()を使用してください。

あなたは次のことを行うことができ、事前にURLを知っておく必要がある場合:

  1. Upload the fileクラウドストレージにFirebase SDKを使用しました。
  2. Create a Cloud Functionアップロードをリッスンします。
  3. この関数では、GCS Node APIを使用してオブジェクトをパブリックにします。

上記を実行すると、ファイルはhttps://<bucket>.storage.googleapis.com/<path_to_object>で直接公開されます。

関連する問題