1
サーバーからイメージを取得してクライアントでプレビューすると、イメージを取得できますが、プレビューする方法はわかりません非同期的にWebページ。サーバーからイメージを取得してクライアントでプレビューする
axios.get(link,{responseType:'stream'}).then(img=>{
// What i have to do here ?
});
ありがとうございます。
サーバーからイメージを取得してクライアントでプレビューすると、イメージを取得できますが、プレビューする方法はわかりません非同期的にWebページ。サーバーからイメージを取得してクライアントでプレビューする
axios.get(link,{responseType:'stream'}).then(img=>{
// What i have to do here ?
});
ありがとうございます。
まず、レスポンスタイプarraybuffer
でイメージを取得する必要があります。結果をbase64文字列に変換し、イメージタグのsrc
として割り当てることができます。ここにReactの小さな例があります。
import React, { Component } from 'react';
import axios from 'axios';
class Image extends Component {
state = { source: null };
componentDidMount() {
axios
.get(
'https://www.example.com/image.png',
{ responseType: 'arraybuffer' },
)
.then(response => {
const base64 = btoa(
new Uint8Array(response.data).reduce(
(data, byte) => data + String.fromCharCode(byte),
'',
),
);
this.setState({ source: "data:;base64," + base64 });
});
}
render() {
return <img src={this.state.source} />;
}
}
export default Image;
あなたは一番です! –
反応の 'src3'値を'
'に設定するほうがはるかに簡単だと思います。 '
'のようなもので十分です。そうすると、ブラウザから画像がロードされます。 –
DonovanM
ありがとうございますが、私は必要なものではありません –
申し訳ありませんが、私はあなたを誤解したと思います。あなたは正確に何をしようとしていますか?あなたはajaxで画像をロードして表示しようとしていたようですが、 – DonovanM