4

Have a look at this API: https://maps.googleapis.com/maps/api/place/photo?maxwidth=400&photoreference=CnRtAAAATLZNl354RwP_9UKbQ_5Psy40texXePv4oAlgP4qNEkdIrkyse7rPXYGd9D_Uj1rVsQdWT4oRz4QrYAJNpFX7rzqqMlZw2h2E2y5IKMUZ7ouD_SlcHxYq1yL4KbKUv3qtWgTK0A6QbGh87GB3sscrHRIQiG2RrmU_jF4tENr9wGS_YxoUSSDrYjWmrNfeEHSGSc3FyhNLlBU&key=AddYourOwnKeyHere

Postman を使用して、またはブラウザーで呼び出すと、美しくレンダリングされた画像が返されます。さて、アプリ内から、$http または jQuery を使用してこの API を呼び出すと、大量の「ガベージ」が返されます。誰かこのゴミが何であるか説明できますか? 画像に対応するbase64でエンコードされたバイナリデータですか?アプリでこの画像を表示するには、この情報が必要です.. img ng-src="{{photo}}" も img data-ng-src="{{photo}}" も機能しませんでした。また、img タグで base64 を明示的に指定しようとしましたが、うまくいきませんでした。

ありがとう!

4

2 に答える 2

5

その URL は、画像のバイナリ ファイル (JPEG ファイルなど) を返します。その URL をタグの として直接使用できsrcます<img>

于 2015-05-07T03:52:15.780 に答える
0

google api から返ってきたページのビューソースを見ると、そのまま api return image です。

goog 画像 API

正確には、応答ヘッダーで image/png コンテンツ タイプを返します。

これは、C# Web Api 2 を使用した API コードの例です。

public HttpResponseMessage Get(int? id){

        var path = HostingEnvironment.MapPath("~");
        path = Path.Combine(path, "Static", "robot.png");

        HttpResponseMessage response = new HttpResponseMessage();
        var fileStream = new FileStream(path, FileMode.Open);
        var streamContent = new StreamContent(fileStream);

        response.Content = streamContent;

        response.Content.Headers.ContentType = new MediaTypeHeaderValue("image/png");

        return response;
}

そしてtadaaa ... APIは機能しています:)ここに画像の説明を入力

于 2017-01-06T07:26:01.483 に答える