さて、ここにあります:(私はよりよく説明するためにこの投稿の内容を3回変更しています)
私のウェブサイトは画像ホスティングウェブサイトです。つまり、ユーザーは私のウェブサイトにアップロードして、アップロードした画像への直接リンクを受け取ることができます。
サイトからユーザーと通信するには、なんらかのAPI/方法が必要です。私のWebサイトに登録されているユーザーが、自分のWebサイト(AJAX、iFrame、cURL、JSONなど)を離れることなく、自分のWebサイトから画像ホストに画像をアップロードできるようにしたいと思います。
&request=api
ユーザーがupload.phpスクリプトからプレーンテキストを返すように、私のWebサイトへのリクエストにはパラメーターを含める必要があります。このようにして、自分のサイトからデータ/出力を取得する簡単な方法を確保できると思います。
したがって、基本的に、ユーザーのサイトから私の画像ホストへのPOST / FILESリクエストの後、ユーザーはアップロード処理スクリプトからリンクを受け取ります。これらのリンクを取得して、自分のニーズに使用する必要があります。
私の質問は、登録ユーザーがページをリロードせずにサーバーにファイルを送信し、その画像へのURLを取得することです。どうすればよいですか?
私が試したこと:
私の試みはすべて、継続することなく閉塞でした。
まず、2つの異なるテーブルに2つの新しい列を追加しました。私のusersテーブルapi_key
は、ユーザーが実際にサインアップした場合にAPIキーを格納することを目的とした列を受け取りました。もう1つの列は、画像情報is_api
を保存するテーブルに追加されました。登録されたユーザーのみが画像をデータベースに保存します。この新しい列(タイプ)を使用して、ユーザーからの画像がAPIを介して追加/アップロードされている(または追加されていない)ことを確認したいと思いました。TINYINT
ユーザーは、次のパラメーターを使用してイメージホストにリクエストを送信しますupload.php?submit=true&action=upload&request=api&key=_SOME_API_KEY_
。APIキーを取得し、それが誰に属しているかを確認します->そのキーに基づいてユーザーIDを取得します->画像をサーバーに保存します->画像情報をデータベースに保存します(現在はユーザーIDを持っています)->私echo
はURL。
ここでの私の失敗は次のとおりです。
- サードパーティのWebサイトからイメージホストに非同期で何も送信できませんでした
- サードパーティのWebサイトに何も返されませんでした。
なぜこれらの失敗?これらの2つの最も重要なステップをどのように達成するかがわからないためです。
イメージホストへの送信を停止するための私のアイデアの1つは、POSTを介してイメージ文字列をサーバーに送信$_FILES[]
し、そこでイメージを自分で作成しようとすることでした。私もできませんでした。考える時間があった男の思いでした。
だから、これはそれです:私自身からの解決策のない私の大きな問題。
私をより簡単に助けるためにもっと情報が必要な場合は、お問い合わせください。
ありがとうございました。
アップデート
なんらかの方法で(非同期に)ファイルを受信できた場合は、値1is_api
のフィールドを使用してデータベースに登録し、API(外部)経由で配置されたものとしてマークします。このようにして、maybeという名前の新しいファイルを作成できます。このファイルは、似たようないくつかのパラメーターを受け入れ、その外部APIユーザーによる最新の画像へのリンクを含むJSONページを返します。サードパーティのWebサイトでJSONを介してページを取得するのは非常に簡単です。したがって、この方法では、基本的に画像ホストで画像を受信する必要があり、取得部分はそれほど難しくありません。では、 POSTを介して画像文字列を画像ホストに送信するにはどうすればよいですか?viewer.php
viewer.php?request=api&key=_API_KEY_
私のこの新しいアイデアが悪用可能である場合は、私に知らせてください。